Implement the cpu_yield hypervisor call. Use it in the idle loop for
authorart <art@openbsd.org>
Mon, 21 Jul 2008 13:30:04 +0000 (13:30 +0000)
committerart <art@openbsd.org>
Mon, 21 Jul 2008 13:30:04 +0000 (13:30 +0000)
commite5499f78036a75ae96c79eb5dd382e3b89e1da30
tree52ee76ff98ebb84ff39f7cde5b0a19d50ac74e76
parent3e7b141d013699dc1e7c839b2e98380f9470a63b
Implement the cpu_yield hypervisor call. Use it in the idle loop for
SUN4V to let it suspend strands (why does everyone invent own words for
hyperthreads?). This gives a huge performance boost when most of the
cpus are idle.

kettenis@ ok
sys/arch/sparc64/include/hypervisor.h
sys/arch/sparc64/sparc64/cpu.c
sys/arch/sparc64/sparc64/hvcall.S
sys/arch/sparc64/sparc64/locore.s