summaryrefslogtreecommitdiffstats
path: root/sys/kern/sched_ule.c
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2008-03-10 09:50:29 +0000
committerjeff <jeff@FreeBSD.org>2008-03-10 09:50:29 +0000
commite53ae3b7988658d21fe97864dee33838e281ea58 (patch)
tree3bc123adba5eb8df6469aa2071c28dffa5897398 /sys/kern/sched_ule.c
parentaa3cc14d3dd3ac17e34bc6285870928208e15fb4 (diff)
downloadFreeBSD-src-e53ae3b7988658d21fe97864dee33838e281ea58.zip
FreeBSD-src-e53ae3b7988658d21fe97864dee33838e281ea58.tar.gz
- Don't rely on a side effect of sched_prio() to set the initial ts_runq
for thread0. Set it directly in sched_setup(). This fixes traps on boot seen on some machines. Reported by: phk
Diffstat (limited to 'sys/kern/sched_ule.c')
-rw-r--r--sys/kern/sched_ule.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c
index 0427807..a4117cf 100644
--- a/sys/kern/sched_ule.c
+++ b/sys/kern/sched_ule.c
@@ -1250,6 +1250,7 @@ sched_setup(void *dummy)
/* Add thread0's load since it's running. */
TDQ_LOCK(tdq);
thread0.td_lock = TDQ_LOCKPTR(TDQ_SELF());
+ tdq_runq_pick(tdq, &td_sched0);
tdq_load_add(tdq, &td_sched0);
tdq->tdq_lowpri = thread0.td_priority;
TDQ_UNLOCK(tdq);
OpenPOWER on IntegriCloud