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

Gregory Haskins
2009-01-08T03:25:36Z

[-- Attachment #1: Type: text/plain, Size: 965 bytes --]

[resend: restore CC list]

>>> Linus Torvalds <torvalds@linux-foundation.org> 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 #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 257 bytes --]