On Thu, Aug 18, 2005 at 10:18:33AM -0400, Stephan Uphoff wrote:
On Thu, 2005-08-18 at 03:57, Luigi Rizzo wrote:
...
In fact i don't understand why you consider spinning and sleeping
on a mutex two different things.
The major difference between sleeping (cv_wait,msleep,..) and blocking
on a mutex is priority inheritance.
If you need to be able to use (non-spin) mutexes while holding a
[R|W]LOCK and use a [R|W]LOCK while holding a (non-spin) mutex then you
need to implement priority inheritance for [R|W]LOCKs.
is that required (in FreeBSD, i mean) for algorithmic
correctness or just for performance ?
cheers
luigi