cpu_relax(), rep: nop, and PAUSE

Rainer Müller raimue at codingfarm.de
Wed Feb 20 16:18:16 EST 2013


On 2013-02-19 13:20, David Shwatrz wrote:
> We have:
> #define cpu_relax()	asm volatile("rep; nop")
> in arch/x86/boot/boot.h.
> 
> Why don't we use the PAUSE assembler instruction here ?

If you dig further into the Intel x86 manual, the machine instructions
'pause' and 'rep;nop' actually use the exact same encoding. As some
older assembler might not know the 'pause' mnemonic, using 'rep;nop'
here is most probably for backwards compatibility.

Rainer




More information about the Kernelnewbies mailing list