vppinfra: more prefech and demote inlines 41/43941/3
authorDamjan Marion <[email protected]>
Fri, 24 Oct 2025 17:10:35 +0000 (19:10 +0200)
committerFlorin Coras <[email protected]>
Sat, 25 Oct 2025 21:24:15 +0000 (21:24 +0000)
Type: improvement
Change-Id: I32fd340b88bee2a80522ca87ae622b5cae3ad994
Signed-off-by: Damjan Marion <[email protected]>
src/vppinfra/cache.h

index 13778a4..97258c7 100644 (file)
@@ -118,12 +118,32 @@ clib_prefetch_load (void *p)
   __builtin_prefetch (p, /* rw */ 0, /* locality */ 3);
 }
 
+static_always_inline void
+clib_prefetch_slc_load (void *p)
+{
+  __builtin_prefetch (p, /* rw */ 0, /* locality */ 2);
+}
+
+static_always_inline void
+clib_prefetch_llc_load (void *p)
+{
+  __builtin_prefetch (p, /* rw */ 0, /* locality */ 1);
+}
+
 static_always_inline void
 clib_prefetch_store (void *p)
 {
   __builtin_prefetch (p, /* rw */ 1, /* locality */ 3);
 }
 
+static_always_inline void
+clib_cl_demote (void *p)
+{
+#ifdef __CLDEMOTE__
+  __builtin_ia32_cldemote (p);
+#endif
+}
+
 #endif /* included_clib_cache_h */