Date: Tue, 22 Feb 2005 15:52:37 -0500 From: John Baldwin <jhb@FreeBSD.org> To: freebsd-current@FreeBSD.org Subject: Re: Deadlock with option FULL_PREEMPTION Message-ID: <200502221552.37300.jhb@FreeBSD.org> In-Reply-To: <20050208201437.GA46141@peter.osted.lan> References: <20050206134113.GA77071@peter.osted.lan> <200502081448.43759.jhb@FreeBSD.org> <20050208201437.GA46141@peter.osted.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
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? -- 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?200502221552.37300.jhb>