Date: Tue, 12 Oct 2004 22:53:40 -0400 From: Damian Gerow <dgerow@afflictions.org> To: current@FreeBSD.org Subject: Re: Possible fix for KSE threads that never wake up Message-ID: <20041013025340.GA30381@afflictions.org> In-Reply-To: <200410121556.51976.jhb@FreeBSD.org> References: <200410121556.51976.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Thus spake John Baldwin (jhb@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).
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041013025340.GA30381>