Provided by: dpdk-doc_24.11.2-2_all bug

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.

DPDK                                             Version 24.11.2                               rte_prefetch.h(3)