panic: spin lock held too long (reasonable load)
John Baldwin
jhb at FreeBSD.org
Wed Jun 9 15:26:24 GMT 2004
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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-current
mailing list