diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 2008-07-21 13:30:06 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 2008-07-21 13:30:06 +0000 |
commit | 4b218cee305e4c1378440ef5c5575cc11cd829f3 (patch) | |
tree | 826454623f93536936adfb7826964297b6dd10bf /sys/arch/sparc64/include | |
parent | 2a104c95a23b111054dd1e591ee635e9f2d22db4 (diff) |
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
Diffstat (limited to 'sys/arch/sparc64/include')
-rw-r--r-- | sys/arch/sparc64/include/hypervisor.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/arch/sparc64/include/hypervisor.h b/sys/arch/sparc64/include/hypervisor.h index eacf6f2afad..6ef58b8d3d7 100644 --- a/sys/arch/sparc64/include/hypervisor.h +++ b/sys/arch/sparc64/include/hypervisor.h @@ -1,4 +1,4 @@ -/* $OpenBSD: hypervisor.h,v 1.1 2008/03/08 19:15:56 kettenis Exp $ */ +/* $OpenBSD: hypervisor.h,v 1.2 2008/07/21 13:30:04 art Exp $ */ /* * Copyright (c) 2008 Mark Kettenis @@ -49,6 +49,8 @@ int64_t hv_cpu_qconf(uint64_t queue, uint64_t base, uint64_t nentries); int64_t hv_cpu_mondo_send(uint64_t ncpus, paddr_t cpulist, paddr_t data); int64_t hv_cpu_myid(uint64_t *cpuid); +void hv_cpu_yield(void); + /* * MMU services */ |