Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
rte_prefetch.h(3)		     DPDK		     rte_prefetch.h(3)

NAME
       rte_prefetch.h

SYNOPSIS
       #include	<rte_compat.h>

   Functions
       static void rte_prefetch0 (const	volatile void *p)
       static void rte_prefetch1 (const	volatile void *p)
       static void rte_prefetch2 (const	volatile void *p)
       static void rte_prefetch_non_temporal (const volatile void *p)
       static __rte_experimental void rte_prefetch0_write (const void *p)
       static __rte_experimental void rte_prefetch1_write (const void *p)
       static __rte_experimental void rte_prefetch2_write (const void *p)
       static __rte_experimental void rte_cldemote (const volatile void	*p)

Detailed Description
       Prefetch	operations.

       This file defines an API	for prefetch macros / inline-functions,	which
       are architecture-dependent. Prefetching occurs when a processor
       requests	an instruction or data from memory to cache before it is
       actually	needed,	potentially speeding up	the execution of the program.

       Definition in file rte_prefetch.h.

Function Documentation
   static void rte_prefetch0 (const volatile void * p) [inline],  [static]
       Prefetch	a cache	line into all cache levels.

       Parameters
	   p Address to	prefetch

   static void rte_prefetch1 (const volatile void * p) [inline],  [static]
       Prefetch	a cache	line into all cache levels except the 0th cache	level.

       Parameters
	   p Address to	prefetch

   static void rte_prefetch2 (const volatile void * p) [inline],  [static]
       Prefetch	a cache	line into all cache levels except the 0th and 1th
       cache levels.

       Parameters
	   p Address to	prefetch

   static void rte_prefetch_non_temporal (const	volatile void *	p) [inline],
       [static]
       Prefetch	a cache	line into all cache levels (non-temporal/transient
       version)

       The non-temporal	prefetch is intended as	a prefetch hint	that processor
       will use	the prefetched data only once or short period, unlike the
       rte_prefetch0() function	which imply that prefetched data to use
       repeatedly.

       Parameters
	   p Address to	prefetch

   static __rte_experimental void rte_prefetch0_write (const void * p)
       [inline],  [static]
       Warning
	   EXPERIMENTAL: this API may change, or be removed, without prior
	   notice

       Prefetch	a cache	line into all cache levels, with intention to write.
       This prefetch variant hints to the CPU that the program is expecting to
       write to	the cache line being prefetched.

       Parameters
	   p Address to	prefetch

       Definition at line 72 of	file rte_prefetch.h.

   static __rte_experimental void rte_prefetch1_write (const void * p)
       [inline],  [static]
       Warning
	   EXPERIMENTAL: this API may change, or be removed, without prior
	   notice

       Prefetch	a cache	line into all cache levels, except the 0th, with
       intention to write. This	prefetch variant hints to the CPU that the
       program is expecting to write to	the cache line being prefetched.

       Parameters
	   p Address to	prefetch

       Definition at line 97 of	file rte_prefetch.h.

   static __rte_experimental void rte_prefetch2_write (const void * p)
       [inline],  [static]
       Warning
	   EXPERIMENTAL: this API may change, or be removed, without prior
	   notice

       Prefetch	a cache	line into all cache levels, except the 0th and 1st,
       with intention to write.	This prefetch variant hints to the CPU that
       the program is expecting	to write to the	cache line being prefetched.

       Parameters
	   p Address to	prefetch

       Definition at line 122 of file rte_prefetch.h.

   static __rte_experimental void rte_cldemote (const volatile void * p)
       [inline],  [static]
       Warning
	   EXPERIMENTAL: this API may change, or be removed, without prior
	   notice

       Demote a	cache line to a	more distant level of cache from the
       processor. CLDEMOTE hints to hardware to	move (demote) a	cache line
       from the	closest	to the processor to a level more distant from the
       processor. It is	a hint and not guaranteed. rte_cldemote	is intended to
       move the	cache line to the more remote cache, where it expects sharing
       to be efficient and to indicate that a line may be accessed by a
       different core in the future.

       Parameters
	   p Address to	demote

Author
       Generated automatically by Doxygen for DPDK from	the source code.

Version	25.11.0			Thu Jun	11 2026		     rte_prefetch.h(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rte_cldemote&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help