aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorScott Long <scottl@FreeBSD.org>2004-07-22 14:32:48 +0000
committerScott Long <scottl@FreeBSD.org>2004-07-22 14:32:48 +0000
commit9493183e7732319b998b8c7b2061883fb9dc4f85 (patch)
treea525734e13d1b68ee4fbf4a340b7684a8fa2f4ed /sys
parent6b61c155e62f929b7ebbeb6babe6f1e774c23f5c (diff)
downloadsrc-9493183e7732319b998b8c7b2061883fb9dc4f85.tar.gz
src-9493183e7732319b998b8c7b2061883fb9dc4f85.zip
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.
Notes
Notes: svn path=/head/; revision=132543
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/kern_switch.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/kern_switch.c b/sys/kern/kern_switch.c
index 5183a355995b..4822c5edb994 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 {