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

From: Christopher Friesen
Date: Thu Feb 16 2006 - 15:22:16 EST


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

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/