Re: [PATCH -v7][RFC]: mutex: implement adaptive spinning

Peter Zijlstra
2009-01-08T17:23:12Z

On Thu, 2009-01-08 at 08:58 -0800, Linus Torvalds wrote:
>
> Ok, I've gone through -v7, and I'm sure you're all shocked to hear it, but
> I have no complaints.

*cheer*, except I guess we need to figure out what goes bad for Chris.

> Except that you dropped all the good commit
> commentary you had earlier ;)

Yeah, I've yet to add that back, will do.

> The patch looks pretty good (except for the big "#if 0" block in
> mutex-debug.c that I hope gets fixed, but I can't even really claim that I
> can be bothered), the locking looks fine (ie no locking at all), and the
> numbers seem pretty convinving.
>
> Oh, and I think the open-coded
>
> atomic_cmpxchg(count, 1, 0) == 1
>
> could possibly just be replaced with a simple __mutex_fastpath_trylock().
> I dunno.

__mutex_fastpath_trylock() isn't always that neat -- see
include/asm-generic/mutex-xchg.h -- and its a NOP on DEBUG_MUTEXES.

Note how I used old_val for the list_empty() thing as well, we could
possibly drop that extra condition though.