X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_eal%2Finclude%2Fgeneric%2Frte_prefetch.h;h=f9fab5e359297dea174e2f64fced5a43c05db330;hb=8d63961fc7137cab823f85a50ee82779792f21e4;hp=df9764e0bc6e4329210ea3eff97da6031bfab6ff;hpb=31f83163cf2f9ac4d8c1884bb7d1fc8e15b1f540;p=dpdk.git diff --git a/lib/librte_eal/include/generic/rte_prefetch.h b/lib/librte_eal/include/generic/rte_prefetch.h index df9764e0bc..f9fab5e359 100644 --- a/lib/librte_eal/include/generic/rte_prefetch.h +++ b/lib/librte_eal/include/generic/rte_prefetch.h @@ -116,4 +116,22 @@ rte_prefetch2_write(const void *p) __builtin_prefetch(p, 1, 1); } +/** + * @warning + * @b 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. + * + * @param p + * Address to demote + */ +__rte_experimental +static inline void +rte_cldemote(const volatile void *p); + #endif /* _RTE_PREFETCH_H_ */