Date: Wed, 9 Jun 2004 11:27:10 -0400 From: John Baldwin <jhb@FreeBSD.org> To: freebsd-current@FreeBSD.org Cc: Ian FREISLICH <if@hetzner.co.za> Subject: Re: panic: spin lock held too long (reasonable load) Message-ID: <200406091127.10019.jhb@FreeBSD.org> In-Reply-To: <E1BY4dE-000AOa-00@hetzner.co.za> References: <E1BY4dE-000AOa-00@hetzner.co.za>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 09 June 2004 11:04 am, Ian FREISLICH wrote:
> > On Wednesday 09 June 2004 09:25 am, Ian FREISLICH wrote:
> > > Hi
> > >
> > > I got this about an hour ago, maybe 10 minutes into a 'make world
> > > -j8' on my SMP system. I'll reproduce the panic and drop into the
> > > debugger if possible if someone is willing to tell me what information
> > > appart from this backtrace will be helpful.
> >
> > Unfortunately this is a known deadlock that can happen with swapping that
> > there isn't an easy fix for. If you want a quick hack, try commenting
> > out the 'wakeup(&proc0)' line in setrunnable(). It might take a bit
> > longer for the kernel to swap processes back in but should avoid the
> > deadlock.
>
> You mean like this?
Yes. Appropriate comment, too. :-P
> diff -u -d -r1.249 kern_synch.c
> --- kern_synch.c 7 Jun 2004 09:35:00 -0000 1.249
> +++ kern_synch.c 9 Jun 2004 15:03:09 -0000
> @@ -402,7 +402,14 @@
> if ((p->p_sflag & PS_INMEM) == 0) {
> if ((p->p_sflag & PS_SWAPPINGIN) == 0) {
> p->p_sflag |= PS_SWAPINREQ;
> - wakeup(&proc0);
> + /*
> + * XXX Nasty, Tricksy hack!!!!
> + * Perhaps avoid a deadlock at the expense of swap
> + * performance.
> + */
> + /*
> + * wakeup(&proc0);
> + */
> }
> } else
> sched_wakeup(td);
>
> Ian
>
> --
> Ian Freislich
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
--
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?200406091127.10019.jhb>
