Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Feb 2005 21:14:37 +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:  <20050208201437.GA46141@peter.osted.lan>
In-Reply-To: <200502081448.43759.jhb@FreeBSD.org>
References:  <20050206134113.GA77071@peter.osted.lan> <200502081317.40267.jhb@FreeBSD.org> <20050208190836.GA45874@peter.osted.lan> <200502081448.43759.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

> -- 
> John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
> "Power Users Use the Power to Serve"  =  http://www.FreeBSD.org

-- 
Peter Holm



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050208201437.GA46141>