Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Mar 2001 10:49:51 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        "Alexander N. Kabaev" <ak03@gte.com>
Cc:        current@FreeBSD.org, Dag-Erling Smorgrav <des@ofug.org>
Subject:   RE: -CURRENT no longer boots
Message-ID:  <XFMail.010312104951.jhb@FreeBSD.org>
In-Reply-To: <XFMail.20010312133252.ak03@gte.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On 12-Mar-01 Alexander N. Kabaev wrote:
> Do you have WITNESS_SKIPSPIN option in your kernel config?
> 
> Here is what supposedly causing the trouble:
> 
> a) the process p_spinlocks variable is initialized to one in fork1 during 
>    the process creation
> b) the sched_lock is released later in fork_exit, but the process'
>    p_spinlocks field is not decreased because sched_lock is not tracked by
> the
>    witness subsystem
> b) process tried to grab Giant but sees p_spinlocks > 0 ... instant panic :)

c) As part of the new witness code, move p_spinlocks (well, a variation thereof)
   to be a per-CPU variable.
 
> The quick and dirty fix is to either set debug.witness_skipspin=0 in
> /boot/loader.conf or modify witness_enter function to ignore p_skipspin
> counter
> if debug.witness_skipspin is non-zero.

Just don't use the skipspin stuff, it shouldn't hurt at all.  The new witness
code will hopefully be in by the end of the week.  *crosses fingers*

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.010312104951.jhb>