Re: [GIT PULL] adaptive spinning mutexes

Paul E. McKenney
2009-01-16T00:53:51Z

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.

In infrequently invoked code such as some error handling, lazy/simple
can be a big win.

Thanx, Paul