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.
Agreed.
Btw, the MUST_HOLD macro _is_ straightforward and extremely
useful. IMHO it'd be a shame to have only the SCSI code use it ;)
regards,
Rik
-- Bravely reimplemented by the knights who say "NIH".http://www.surriel.com/ http://distro.conectiva.com/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Wed Aug 07 2002 - 22:00:38 EST