Re: [patch 0/6] lightweight robust futexes: -V3 - Why in userspace?

Christopher Friesen
2006-02-16T20:24:26Z

Esben Nielsen wrote:
> On Thu, 16 Feb 2006, Arjan van de Ven wrote:
>
>
>>On Thu, 2006-02-16 at 20:06 +0100, Esben Nielsen wrote:

>>>Why does the list have to be in userspace?
>>
>>because it's faster ;)

> Faster???
> As I see it, extra manipulations have to be done even in the non-congested
> case: Every time the lock is taken the locking thread has to add the lock
> to a the list, and reversely remove the lock from the list. I.e.
> instructions are _added_ to the fast path where you stay purely in
> userspace.
>
> I am ofcourse comparing to a solution where you do a syscall on everytime
> you do a lock.

The whole *point* of futexes is that on uncontested operations you don't
have to do a syscall. Thus, if you can avoid taking a syscall while
still getting reliability, you'll be faster.

Dropping to kernelspace isn't free.

Chris