diff options
author | scottl <scottl@FreeBSD.org> | 2004-07-22 14:32:48 +0000 |
---|---|---|
committer | scottl <scottl@FreeBSD.org> | 2004-07-22 14:32:48 +0000 |
commit | 9c40ab7a35a0df2f230c65ce9fa4e4c7c8b1a05e (patch) | |
tree | a525734e13d1b68ee4fbf4a340b7684a8fa2f4ed /sys/kern | |
parent | 8295db903869b2df8493758b549ce7a7ba1907eb (diff) | |
download | FreeBSD-src-9c40ab7a35a0df2f230c65ce9fa4e4c7c8b1a05e.zip FreeBSD-src-9c40ab7a35a0df2f230c65ce9fa4e4c7c8b1a05e.tar.gz |
Disable the PREEMPTION-enabled code in critical_exit() that encourages
switching to a different thread. This is just a hack to try to improve
stability some more, but likely points closer to the real culprit.
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/kern_switch.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/kern_switch.c b/sys/kern/kern_switch.c index 5183a35..4822c5e 100644 --- a/sys/kern/kern_switch.c +++ b/sys/kern/kern_switch.c @@ -450,6 +450,7 @@ critical_exit(void) KASSERT(td->td_critnest != 0, ("critical_exit: td_critnest == 0")); if (td->td_critnest == 1) { +#if 0 #ifdef PREEMPTION mtx_assert(&sched_lock, MA_NOTOWNED); if (td->td_pflags & TDP_OWEPREEMPT) { @@ -458,6 +459,7 @@ critical_exit(void) mtx_unlock_spin(&sched_lock); } #endif +#endif td->td_critnest = 0; cpu_critical_exit(); } else { |