summaryrefslogtreecommitdiffstats
path: root/sys/kern/sched_4bsd.c
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2007-07-18 20:46:06 +0000
committerjeff <jeff@FreeBSD.org>2007-07-18 20:46:06 +0000
commite6da269e0c81bfd4d63b7981e09235214abc829b (patch)
tree1cec5f9b6fd3f83bab6f74433bc23a958956c5c2 /sys/kern/sched_4bsd.c
parent45491c3f8a107cfdeb617dc9821d7b8eedda4bbe (diff)
downloadFreeBSD-src-e6da269e0c81bfd4d63b7981e09235214abc829b.zip
FreeBSD-src-e6da269e0c81bfd4d63b7981e09235214abc829b.tar.gz
- Remove the global definition of sched_lock in mutex.h to break
new code and third party modules which try to depend on it. - Initialize sched_lock in sched_4bsd.c. - Declare sched_lock in sparc64 pmap.c and assert that we're compiling with SCHED_4BSD to prevent accidental crashes from running ULE. This is the sole remaining file outside of the scheduler that uses the global sched_lock. Approved by: re
Diffstat (limited to 'sys/kern/sched_4bsd.c')
-rw-r--r--sys/kern/sched_4bsd.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/sched_4bsd.c b/sys/kern/sched_4bsd.c
index 7e368bb..d96c27e 100644
--- a/sys/kern/sched_4bsd.c
+++ b/sys/kern/sched_4bsd.c
@@ -101,6 +101,7 @@ struct td_sched {
((ts)->ts_runq != 0 && (ts)->ts_runq != &runq)
static struct td_sched td_sched0;
+struct mtx sched_lock;
static int sched_tdcnt; /* Total runnable threads in the system. */
static int sched_quantum; /* Roundrobin scheduling quantum in ticks. */
@@ -578,6 +579,7 @@ schedinit(void)
thread0.td_sched = &td_sched0;
thread0.td_lock = &sched_lock;
td_sched0.ts_thread = &thread0;
+ mtx_init(&sched_lock, "sched lock", NULL, MTX_SPIN | MTX_RECURSE);
}
int
OpenPOWER on IntegriCloud