Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Jan 2009 14:16:47 +0000 (GMT)
From:      Robert Watson <rwatson@FreeBSD.ogr>
To:        Pete French <petefrench@ticketswitch.com>
Cc:        freebsd-stable@freebsd.org, drosih@rpi.edu, dchagin@freebsd.org, rblayzor.bulk@inoc.net
Subject:   Re: Big problems with 7.1 locking up :-(
Message-ID:  <alpine.BSF.2.00.0901161415360.21561@fledge.watson.org>
In-Reply-To: <E1LNpSj-0004n7-Na@dilbert.ticketswitch.com>
References:  <E1LNpSj-0004n7-Na@dilbert.ticketswitch.com>

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

On Fri, 16 Jan 2009, Pete French wrote:

>> I rather feared as much.  Let's run down the path of "perhaps there's a 
>> problem with the new UDP locking code" for a bit and see where it takes us. 
>> Is it possible to run those boxes with WITNESS -- I believe that the fact 
>> that "show alllocks" is failing is because WITNESS isn't present.
>
> Yes, I can do that. The only reason I wasn't running with WITNESS is that it 
> didn't lock up when I added the BREAK_TO_DEBUGGER so I was seeing if a 
> simple GENERIC kernel would lock up when I added that. I will go back and 
> add WITNESS when you tell me theres nothing more we can get out of this lock 
> up (recompiling will involve restarting the machine so I loose the 'boekn to 
> debugger' state). Should I add anything else ? Skip spinlocks ? Invariants ?
>
>> The other thing we can do is revert UDP to using purely write locks -- the 
>> risk there is that it might change the timing but not actually resolve the 
>> bug, so if we can analyze it a bit using WITNESS first that would be 
>> useful.
>
> Yes, I will run with WITNESS and anything else you might want. Is there 
> anything else you, or anyone else, wants from this kernel ? It may take 
> another day to lock up when I've restarted it unfortunately.

If you do INVARIANTS + WITNESS + WITNESS_SKIPSPIN, that should be good. 
WITNESS does a number of things, including tracking (and being judgemental 
about) lock order.  One nice side effect of that tracking is that we keep 
track of a lot more lock state explicitly, so DDB's "show allocks", "show 
locks", etc, commands can build on that.  "show lockedvnods" works without 
WITNESS, though, so your results so far suggest this is likely not related to 
vnode locking.

Robert N M Watson
Computer Laboratory
University of Cambridge



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.0901161415360.21561>