summaryrefslogtreecommitdiffstats
path: root/sys/kern/sched_bsd.c
diff options
context:
space:
mode:
authorart <art@openbsd.org>2007-11-26 17:15:29 +0000
committerart <art@openbsd.org>2007-11-26 17:15:29 +0000
commit7ad2b02120c55b67d13e8b1b155dc14bf64cfa9e (patch)
treec2d4d2501bbaab6851e647e630e2a1aa9fbe2709 /sys/kern/sched_bsd.c
parentConstify the output of the emulops translate() function, as well as the (diff)
downloadwireguard-openbsd-7ad2b02120c55b67d13e8b1b155dc14bf64cfa9e.tar.xz
wireguard-openbsd-7ad2b02120c55b67d13e8b1b155dc14bf64cfa9e.zip
Move the implementation of __mp_lock (biglock) into machine dependent
code. At this moment all architectures get the copy of the old code except i386 which gets a new shiny implementation that doesn't spin at splhigh (doh!) and doesn't try to grab the biglock when releasing the biglock (double doh!). Shaves 10% of system time during kernel compile and might solve a few bugs as a bonus. Other architectures coming shortly. miod@ deraadt@ ok
Diffstat (limited to 'sys/kern/sched_bsd.c')
-rw-r--r--sys/kern/sched_bsd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/sched_bsd.c b/sys/kern/sched_bsd.c
index 1954f3a3ce7..80d418201ba 100644
--- a/sys/kern/sched_bsd.c
+++ b/sys/kern/sched_bsd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sched_bsd.c,v 1.14 2007/10/11 10:34:08 art Exp $ */
+/* $OpenBSD: sched_bsd.c,v 1.15 2007/11/26 17:15:29 art Exp $ */
/* $NetBSD: kern_synch.c,v 1.37 1996/04/22 01:38:37 christos Exp $ */
/*-
@@ -57,7 +57,9 @@
int lbolt; /* once a second sleep address */
int rrticks_init; /* # of hardclock ticks per roundrobin() */
-struct SIMPLELOCK sched_lock;
+#ifdef MULTIPROCESSOR
+struct __mp_lock sched_lock;
+#endif
void scheduler_start(void);