Re: [PATCH] lock assertion macros for 2.5.30

From: Rik van Riel (
Date: Wed Aug 07 2002 - 16:44:23 EST

On Wed, 7 Aug 2002, Jesse Barnes wrote:

> > The MUST_NOT_HOLD basically means the kernel will OOPS the
> > moment the lock is contended.
> I think those macros were intended to enforce lock ordering in the
> scsi layer (though I'm not sure).

If you can prove that a MUST_NOT_HOLD(foolock) will never
trigger because it is already protected by other locks,
then what's the point of having that foolock in the first
place ? (since the region is already protected...)

If the foolock is actually protecting something, then by
definition lock contention is possible and the kernel will
Oops in MUST_NOT_HOLD(foolock).

> > If you want to detect lock recursion on the same CPU, I'd
> > suggest the following:
> > ...
> Of course, that's what the lockmetering code does, IIRC, but I think
> that's a feature for a seperate patch.


Btw, the MUST_HOLD macro _is_ straightforward and extremely
useful. IMHO it'd be a shame to have only the SCSI code use it ;)



Bravely reimplemented by the knights who say "NIH".

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to More majordomo info at Please read the FAQ at

This archive was generated by hypermail 2b29 : Wed Aug 07 2002 - 22:00:38 EST