summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2004-07-06 05:57:29 +0000
committerrwatson <rwatson@FreeBSD.org>2004-07-06 05:57:29 +0000
commitfef549cb0131530fbf9f34d7c9a80e54a6d775b7 (patch)
treec0d698bf51e44a2ab495d0ac2ed9392abcb174fc
parent281b0e4e91b636c9bd22e56c913c981e2e66fd89 (diff)
downloadFreeBSD-src-fef549cb0131530fbf9f34d7c9a80e54a6d775b7.zip
FreeBSD-src-fef549cb0131530fbf9f34d7c9a80e54a6d775b7.tar.gz
Temporarily disable preemption in SCHED_ULE due to reported panics and
hangs due to recent preemption changes. This change appears to remove the panic that I was running into, but at the cost of increasing ithread scheduling latency, and as such is a temporary band-aid until jhb has a chance to resolve the ule<->preemption interaction that is the source of the problem. If it doesn't fix the problem for others-- sorry!
-rw-r--r--sys/kern/sched_ule.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c
index 7eb8218..b37ab0c 100644
--- a/sys/kern/sched_ule.c
+++ b/sys/kern/sched_ule.c
@@ -1623,6 +1623,7 @@ sched_add(struct thread *td)
if (td->td_priority < curthread->td_priority)
curthread->td_flags |= TDF_NEEDRESCHED;
+#if 0
#ifdef SMP
/*
* Only try to preempt if the thread is unpinned or pinned to the
@@ -1632,6 +1633,7 @@ sched_add(struct thread *td)
#endif
if (maybe_preempt(td))
return;
+#endif
ke->ke_ksegrp->kg_runq_kses++;
ke->ke_state = KES_ONRUNQ;
OpenPOWER on IntegriCloud