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.
This commit is contained in:
Scott Long 2004-07-22 14:32:48 +00:00
parent 6b61c155e6
commit 9493183e77
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=132543

View File

@ -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) {
@ -457,6 +458,7 @@ critical_exit(void)
mi_switch(SW_INVOL, NULL);
mtx_unlock_spin(&sched_lock);
}
#endif
#endif
td->td_critnest = 0;
cpu_critical_exit();