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

  
 
  

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 in-
     struction or data from memory to cache before it is actually needed, poten-
     tially 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  ver-
     sion)

     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 repeat-
     edly.

     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 ex-
     pecting 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) [in-
     line],  [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 Aug 27 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