On 10/12/20 3:19 AM, Omkar Maslekar wrote:
rte_cldemote is similar to a prefetch hint - in reverse. cldemote(addr)
enables software to hint to hardware that line is likely to be shared.
Useful in core-to-core communications where cache-line is likely to be
shared. ARM and PPC implementation is provided with NOP and can be added
if any equivalent instructions could be used for implementation on those
architectures.

Signed-off-by: Omkar Maslekar <omkar.masle...@intel.com>
Acked-by: Bruce Richardson <bruce.richard...@intel.com>

---
v6: marked rte_cldemote as experimental
     added rte_cldemote call in existing app/test_prefetch.c

v5: documentation updated
     fixed formatting issue in release notes
     added Acked-by: Bruce Richardson <bruce.richard...@intel.com>
*
v4: updated bold text for title and fixed margin in release notes
*
v3: fixed warning regarding whitespace
*
v2: documentation updated
---
---
  app/test/test_prefetch.c                      |  4 ++++
  doc/guides/rel_notes/release_20_11.rst        |  7 +++++++
  lib/librte_eal/arm/include/rte_prefetch_32.h  |  8 ++++++++
  lib/librte_eal/arm/include/rte_prefetch_64.h  |  8 ++++++++
  lib/librte_eal/include/generic/rte_prefetch.h | 16 ++++++++++++++++
  lib/librte_eal/ppc/include/rte_prefetch.h     |  8 ++++++++
  lib/librte_eal/x86/include/rte_prefetch.h     | 12 ++++++++++++
  7 files changed, 63 insertions(+)

...snip...

diff --git a/lib/librte_eal/ppc/include/rte_prefetch.h 
b/lib/librte_eal/ppc/include/rte_prefetch.h
index 9ba07c8..9630227 100644
--- a/lib/librte_eal/ppc/include/rte_prefetch.h
+++ b/lib/librte_eal/ppc/include/rte_prefetch.h
@@ -11,6 +11,7 @@
  #endif

  #include <rte_common.h>
+#include <rte_compat.h>
  #include "generic/rte_prefetch.h"

  static inline void rte_prefetch0(const volatile void *p)
@@ -34,6 +35,13 @@ static inline void rte_prefetch_non_temporal(const volatile 
void *p)
        rte_prefetch0(p);
  }

+static inline void
+__rte_experimental
+rte_cldemote(const volatile void *p)
+{
+       RTE_SET_USED(p);
+}
+
  #ifdef __cplusplus
  }
  #endif

Don't see an equivalent operation in the 3.1 ISA for POWER processors, so NOP is the right implementation.

Acked-by: David Christensen <d...@linux.vnet.ibm.com>

Reply via email to