Re: Deadlock with option FULL_PREEMPTION

From: Peter Holm <peter_at_holm.cc>
Date: Tue, 8 Feb 2005 21:14:37 +0100
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_at_FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
> "Power Users Use the Power to Serve"  =  http://www.FreeBSD.org

-- 
Peter Holm
Received on Tue Feb 08 2005 - 19:14:41 UTC

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