Re: [patch 0/6] lightweight robust futexes: -V3

Ingo Molnar
2006-02-17T09:43:14Z

* Paul Jackson <pj@sgi.com> wrote:

> First, let me point out the tight coupling of this patch set, at least
> as currently presented, with glibc. Notice for example the following
> comment from your patch:
>
> + * NOTE: this structure is part of the syscall ABI, and must only be
> + * changed if the change is first communicated with the glibc folks.

Note that this is really business as usual: we already have dozens of
different 'struct' parameters to hundreds of syscalls, to all of which
exactly these restrictions apply: they must never be changed.

Furthermore there are a good deal of other implicit and explicit data
structure assumptions that all form the ABI - and which the kernel must
not break.

The only unusual thing i guess is that i documented it for this new bit
of functionality ;-)

[ In fact, the robust_list syscalls are shaped so that the structures
_can_ be changed if done with care (due to the length parameter). The
overwhelming majority of our other ABI assumptions are hardcoded and are
only changeable by writing totally new syscalls and phasing out the old
ones. ]

I agree with your suggestion of better documenting the
kernel<->userspace ABI, but this should be done independently of robust
futexes.

Ingo