Re: [GIT PULL] adaptive spinning mutexes

From: Nick Piggin
Date: Thu Jan 15 2009 - 22:03:30 EST


On Thu, Jan 15, 2009 at 10:16:53AM -0800, Linus Torvalds wrote:
>
>
> On Thu, 15 Jan 2009, Ingo Molnar wrote:
> >
> > btw., i think spin-mutexes have a design advantage here: in a lot of code
> > areas it's quite difficult to use spinlocks - cannot allocate memory,
> > cannot call any code that can sporadically block (but does not _normally_
> > block), etc.
> >
> > With mutexes those atomicity constraints go away - and the performance
> > profile should now be quite close to that of spinlocks as well.
>
> Umm. Except if you wrote the code nicely and used spinlocks, you wouldn't
> hold the lock over all those unnecessary and complex operations.
>
> IOW, if you do pre-allocation instead of holding a lock over the
> allocation, you win. So yes, spin-mutexes makes it easier to write the
> code, but it also makes it easier to just plain be lazy.

Yeah, I agree often it is harder to get the locking right but you end up
with a better result. With mutexes, on the off chance you do have t oblock
while holding the lock, performance and latency of other threads will tank.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/