Date: Sun, 27 Feb 2005 10:56:25 +0100 From: Peter Holm <peter@holm.cc> To: John Baldwin <jhb@FreeBSD.org> Cc: freebsd-current@FreeBSD.org Subject: Re: Deadlock with option FULL_PREEMPTION Message-ID: <20050227095625.GA85065@peter.osted.lan> In-Reply-To: <200502221552.37300.jhb@FreeBSD.org> References: <20050206134113.GA77071@peter.osted.lan> <200502081448.43759.jhb@FreeBSD.org> <20050208201437.GA46141@peter.osted.lan> <200502221552.37300.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Feb 22, 2005 at 03:52:37PM -0500, John Baldwin wrote: > On Tuesday 08 February 2005 03:14 pm, Peter Holm wrote: > > On Tue, Feb 08, 2005 at 02:48:43PM -0500, John Baldwin wrote: > > > On Tuesday 08 February 2005 02:08 pm, Peter Holm wrote: > > > > On Tue, Feb 08, 2005 at 01:17:40PM -0500, John Baldwin wrote: > > > > > On Sunday 06 February 2005 08:41 am, Peter Holm wrote: > > > > > > With GENERIC HEAD from Feb 5 09:19 UTC + FULL_PREEMPTION + > > > > > > mpsafe_vfs = 1 I ran into what appears to be the same deadlock > > > > > > twice. This is the first one: > > > > > > http://www.holm.cc/stress/log/cons114.html > > > > > > > > > > What is the deadlock exactly? > > > > > > > > top froze, console login froze after giving login name, but I > > > > could ping the box. > > > > > > So it could be livelock rather than deadlock if interrupt processing > > > still works (ping). > > > > > > > > It looks like lots of threads banging on fork() > > > > > and that they are all waiting on an exclusive lock of allproc_lock > > > > > while holding a shared lock of proctree_lock (except for the 1 thread > > > > > currently doing a fork that is on a run queue because it was > > > > > preempted by IRQ 0 which kicked off softclock). Can you get 'ps' > > > > > output? > > > > > > > > Yes: > > > > > > Well, kmail butchered this in my reply so I won't quote any of it, but it > > > does seem that the process everyone is waiting on is runnable. I'm not > > > sure if there's anything you can do to recover from the livelock, but the > > > livelock is holding up all the forks so you can't get a login process to > > > fork a shell, etc. (At least not quickly apparently). > > > > Oh, recovery is not an issue. I'm stress testing, but this > > problem does seem to prevent finding other kernel problems > > with FULL_PREEMPTION. I'll just go back to testing without this > > option. Thanx for looking at this. > > Can you try doing this but with machdep.cpu_idle_hlt set to off as per my > other posting to current@ several days ago? > I've been testing with FULL_PREEMPTION (without changing machdep.cpu_idle_hlt) for a few days now, without seeing the livelock problem again :-( - Peter > -- > John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ > "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050227095625.GA85065>