Witness patch

Don Lewis truckman at FreeBSD.org
Fri Sep 2 14:37:41 PDT 2005

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.

More information about the freebsd-current mailing list