arm64: Implement cpu_relax as yield
authorPeter Crosthwaite <peter.crosthwaite@xilinx.com>
Mon, 2 Mar 2015 19:19:14 +0000 (19:19 +0000)
committerWill Deacon <will.deacon@arm.com>
Tue, 17 Mar 2015 10:17:29 +0000 (10:17 +0000)
commit1baa82f48030f38d1895301f1ec93acbcb3d15db
tree7d9e69cd915039f5fd62036351a4d78ad955b89c
parent06e5801b8cb3fc057d88cb4dc03c0b64b2744cda
arm64: Implement cpu_relax as yield

ARM64 has the yield nop hint which has the intended semantics of
cpu_relax. Implement.

The immediate application is ARM CPU emulators. An emulator can take
advantage of the yield hint to de-prioritise an emulated CPU in favor
of other emulation tasks. QEMU A64 SMP emulation has yield awareness,
and sees a significant boot time performance increase with this change.

Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/processor.h