diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 2007-11-26 17:15:30 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 2007-11-26 17:15:30 +0000 |
commit | 1c8d182d996ce78179d1c611b6cb57cc4f2a7449 (patch) | |
tree | 9a4067a51f60221707178e273d2b787ad24914c3 /sys/kern/sched_bsd.c | |
parent | 36460865e8900119b203ce0444196799e44ade5b (diff) |
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.c | 6 |
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); |