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

From: Gregory Haskins
Date: Wed Jan 07 2009 - 22:25:49 EST


[resend: restore CC list]

>>> Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> 01/07/09 6:33 PM >>>


>On Wed, 7 Jan 2009, Steven Rostedt wrote:
>>
>> What would be interesting is various benchmarks against all three.
>>
>> 1) no mutex spinning.
>> 2) get_task_struct() implementation.
>> 3) spin_or_sched implementation.
>
>One of the issues is that I cannot convince myself that (2) is even
>necessarily correct. At least not without having all cases happen inder
>the mutex spinlock - which they don't. Even with the original patch, the
>uncontended cases set and cleared the owner field outside the lock.

Yeah, you are right (see my last post). Without the cmpxchg trickery
(*) on the owner field (like we have in -rt) with the pending bits, (2)
cannot work.

(*) For what its worth, I am impressed with the brilliance of the
cmgxchg fast path stuff in the rtmutex code. Whoever came up with that,
my hat is off to you.

-Greg


Attachment: signature.asc
Description: OpenPGP digital signature