DPDK: Data Plane Development Kit

18.02.0-rc0
rte_prefetch.h File Reference

Go to the source code of this file.

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)

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_prefetch1 ( const volatile void *  p)
inlinestatic

Prefetch a cache line into all cache levels except the 0th cache level.

Parameters
pAddress to prefetch
static void rte_prefetch2 ( const volatile void *  p)
inlinestatic

Prefetch a cache line into all cache levels except the 0th and 1th cache levels.

Parameters
pAddress to prefetch
static void rte_prefetch_non_temporal ( const volatile void *  p)
inlinestatic

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
pAddress to prefetch
Examples:
examples/distributor/main.c.