Re: Possible fix for KSE threads that never wake up

From: Damian Gerow <dgerow_at_afflictions.org>
Date: Tue, 12 Oct 2004 22:53:40 -0400
Thus spake John Baldwin (jhb_at_FreeBSD.org) [12/10/04 15:59]:
: Currently the KSE code arbitrarily sets the SLEEPING inhibitor on any thread 
: it suspends that is on the sleep queue.  Threads that are on the sleep queue 
: however are not always asleep and it adds needless complication and 
: opportunity for bugs (if the inhibitor is not otherwise cleared the thread 
: may never get to run again).  Since the suspension code uses its own 
: inhibitor the hack isn't even needed.  This patch just turns it off.  Let me 
: know if this fixes any problems people are seeing:

Nope.  But it did turn up something strange.  I booted into a kernel sup'ed
about two hours ago, tested it against firefox, it hung, so I applied the
patch, recompiled, installed, and rebooted.  When I tested /that/ time
around, I successfully ran a few dig's (which I didn't test before), then I
ran firefox, then poof! dig stopped working for me.

I can also say that once I have one (or more) hung program(s), my system will
eventually dissolve into a state of complete unusability -- random processes
will just start to hang.  There doesn't seem to be a pattern to this -- it
once took weeks, it once took days, it once took hours.  Earlier tonight
(after my first test against firefox alone), it took seconds.

I am trying to rebuild firefox, just for kicks.  We'll see if that has any
effect.

Unfortunately, I can't offer any more than this (like debugging output and
such).
Received on Wed Oct 13 2004 - 00:53:48 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:17 UTC