Re: [PATCH, take4] FUTEX : new PRIVATE futexes

Eric Dumazet
2007-04-11T10:01:50Z

On Wed, 11 Apr 2007 19:23:26 +1000
Nick Piggin <nickpiggin@yahoo.com.au> wrote:

> But... that isn't there in mainline. Why is it in -mm? At any rate, that makes
> it a no brainer to change.

Seems to be related to lguest. Ask Rusty :)

>
> >
> > As this external thing certainly is not doing the check itself, to be on the safe side we should enforce it in get_futex_key(). I agree with you : If we want to maximize performance, we could say : The check *must* be done by the caller.
>
> Well we _control_ the API, so let's make it as clean and performant as possible
> from the start.

Take a look at do_futex().
Adding checks in callers just increase code size. I tried this got only bad results.
This would speedup only the slow path (ie when some user code want to give us non aligned addrs)
A single factorized check is cleaner and not slower, since we reduce icache pressure.