In the Linux kernel, we have this in arch / powerpc / include / asm / processor.h
#define HMT_very_low() asm volatile("or 31,31,31 # very low priority") #define HMT_low() asm volatile("or 1,1,1 # low priority") #define HMT_medium_low() asm volatile("or 6,6,6 # medium low priority") #define HMT_medium() asm volatile("or 2,2,2 # medium priority") #define HMT_medium_high() asm volatile("or 5,5,5 # medium high priority") #define HMT_high() asm volatile("or 3,3,3 # high priority")
I am not familiar with x86 PAUSE, but it sounds like βor 31.31.31β - this is what you want.
What powerpc processor are you doing? For SMT, should it be POWER5, 6 or 7?
mikey
source share