Date: Tue, 8 Feb 2005 14:48:43 -0500 From: John Baldwin <jhb@FreeBSD.org> To: Peter Holm <peter@holm.cc> Cc: freebsd-current@FreeBSD.org Subject: Re: Deadlock with option FULL_PREEMPTION Message-ID: <200502081448.43759.jhb@FreeBSD.org> In-Reply-To: <20050208190836.GA45874@peter.osted.lan> References: <20050206134113.GA77071@peter.osted.lan> <200502081317.40267.jhb@FreeBSD.org> <20050208190836.GA45874@peter.osted.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
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). -- 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?200502081448.43759.jhb>