Re: [GIT PULL] adaptive spinning mutexes

Chris Mason
2009-01-15T19:26:58Z

On Thu, 2009-01-15 at 10:16 -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.
>

While this is true, there are examples of places we should expect
speedups for this today.

Concurrent file creation/deletion in a single dir will often find things
hot in cache and not have to block anywhere (mail spools).

Concurrent O_DIRECT aio writes to the same file, where i_mutex is
dropped early on.

pipes should see a huge improvement.

I'll kick off some runs of my three benchmarks on ext3 for comparison.
If there are things less synthetic people would like to see, please let
me know.

-chris