summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64/include
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2008-07-21 13:30:06 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2008-07-21 13:30:06 +0000
commit4b218cee305e4c1378440ef5c5575cc11cd829f3 (patch)
tree826454623f93536936adfb7826964297b6dd10bf /sys/arch/sparc64/include
parent2a104c95a23b111054dd1e591ee635e9f2d22db4 (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.h4
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
*/