Witness patch

John Baldwin jhb at FreeBSD.org
Thu Sep 15 11:56:32 PDT 2005


On Friday 02 September 2005 05:37 pm, Don Lewis wrote:
> On  2 Sep, John Baldwin wrote:
> > On Thursday 01 September 2005 11:52 pm, Don Lewis wrote:
> >> On  1 Sep, John Baldwin wrote:
> >> > This patch forces witness to complain if any mutex is held when Giant
> >> > is locked to enforce Giant being the first mutex in the lock order. 
> >> > This might help track down some of the network LORs being reported
> >> > recently.
> >> >
> >> > http://www.FreeBSD.org/~jhb/patches/witness.patch
> >>
> >> I think it would make sense to print different messages for the
> >> different trigger conditions.
> >
> > Hmm, I guess I view them as all just being reversals, and that we have
> > some implicit orders that go something like this:
> >
> > sleepable locks --> Giant --> non-sleepable locks --> spin locks
>
> Attempting to lock one one of the other lock types while holding a spin
> lock already prints a unique message and results in a panic. Identifying
> the other cases of incorrect lock type ordering with a unique warning
> message eliminates the need to grovel through the source code just to
> find the types of the locks, and it indicates that looking at the output
> of "show witness" is not needed.

Ok.  I'll still list the reversal (so you know which locks are involved) but 
will tailor the first line to include the implicit rule in parens if the 
reversal is the result of an implicit rule.

-- 
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