Messages in this thread | | | Date | Wed, 7 Aug 2002 18:44:23 -0300 (BRT) | From | Rik van Riel <> | Subject | Re: [PATCH] lock assertion macros for 2.5.30 |
| |
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/
| |