From owner-freebsd-current@FreeBSD.ORG Tue Feb 8 20:14:41 2005 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1B87F16A4CF for ; Tue, 8 Feb 2005 20:14:41 +0000 (GMT) Received: from relay.pair.com (relay00.pair.com [209.68.1.20]) by mx1.FreeBSD.org (Postfix) with SMTP id 55FBC43D46 for ; Tue, 8 Feb 2005 20:14:40 +0000 (GMT) (envelope-from pho@holm.cc) Received: (qmail 15013 invoked from network); 8 Feb 2005 20:14:39 -0000 Received: from unknown (HELO peter.osted.lan) (unknown) by unknown with SMTP; 8 Feb 2005 20:14:39 -0000 X-pair-Authenticated: 80.161.118.233 Received: from peter.osted.lan (localhost.osted.lan [127.0.0.1]) by peter.osted.lan (8.13.1/8.13.1) with ESMTP id j18KEcuP046178; Tue, 8 Feb 2005 21:14:38 +0100 (CET) (envelope-from pho@peter.osted.lan) Received: (from pho@localhost) by peter.osted.lan (8.13.1/8.13.1/Submit) id j18KEbqs046177; Tue, 8 Feb 2005 21:14:37 +0100 (CET) (envelope-from pho) Date: Tue, 8 Feb 2005 21:14:37 +0100 From: Peter Holm To: John Baldwin Message-ID: <20050208201437.GA46141@peter.osted.lan> References: <20050206134113.GA77071@peter.osted.lan> <200502081317.40267.jhb@FreeBSD.org> <20050208190836.GA45874@peter.osted.lan> <200502081448.43759.jhb@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200502081448.43759.jhb@FreeBSD.org> User-Agent: Mutt/1.4.2.1i cc: freebsd-current@FreeBSD.org Subject: Re: Deadlock with option FULL_PREEMPTION X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Feb 2005 20:14:41 -0000 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 <>< http://www.FreeBSD.org/~jhb/ > "Power Users Use the Power to Serve" = http://www.FreeBSD.org -- Peter Holm