table of contents
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
static void rte_prefetch1 (const volatile void * p) [inline], [static]¶
Prefetch a cache line into all cache levels except the 0th cache level.
Parameters
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
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
static __rte_experimental void rte_prefetch0_write (const void * p) [inline], [static]¶
Warning
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
Definition at line 68 of file rte_prefetch.h.
static __rte_experimental void rte_prefetch1_write (const void * p) [inline], [static]¶
Warning
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
Definition at line 89 of file rte_prefetch.h.
static __rte_experimental void rte_prefetch2_write (const void * p) [inline], [static]¶
Warning
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
Definition at line 110 of file rte_prefetch.h.
static __rte_experimental void rte_cldemote (const volatile void * p) [inline], [static]¶
Warning
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
Author¶
Generated automatically by Doxygen for DPDK from the source code.
Fri Dec 15 2023 | Version 23.11.0 |