aboutsummaryrefslogtreecommitdiffstats
path: root/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/librte_eal/common/include/arch/ppc_64/rte_pause.h')
-rw-r--r--lib/librte_eal/common/include/arch/ppc_64/rte_pause.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h b/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
index 8bd83576..16e47ce2 100644
--- a/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
+++ b/lib/librte_eal/common/include/arch/ppc_64/rte_pause.h
@@ -9,10 +9,17 @@
extern "C" {
#endif
+#include "rte_atomic.h"
+
#include "generic/rte_pause.h"
static inline void rte_pause(void)
{
+ /* Set hardware multi-threading low priority */
+ asm volatile("or 1,1,1");
+ /* Set hardware multi-threading medium priority */
+ asm volatile("or 2,2,2");
+ rte_compiler_barrier();
}
#ifdef __cplusplus