Re: implementing Futex

Darren Hart
2009-08-31T16:30:32Z

Arnd Bergmann wrote:
> On Friday 14 August 2009, Michael Schnell wrote:
>> Arnd Bergmann wrote:
>>> The man page says that the last parameter is ignored for op=FUTEX_WAKE,
>>> which is correct. The code that you were looking at however is for
>>> of=FUTEX_WAKE_OP, which is not documented as of manpages-3.22.
>>>
>>> It was added by Jakub back in 2005, but if he wrote a documentation
>>> for it, it never went into the man pages package. On a similar
>>> note, Ingo also added other futex operations that are not documented
>>> yet.
>>>
>> Thus in any documented software, the quite complex stuff in
>> "futex_atomic_op_inuser", which is provided in several different
>> "futex.h" files for all those architectures never is used ?
>
> No, my point was that futex_atomic_op_inuser is indeed used
> correctly, it's just not documented.
> See http://lwn.net/Articles/148830/ for the initial posting
>
>> Is there any viable use for this ?
>
> glibc heavily uses it for the pthreads implementation.
>
>> Would it not be appropriate either to do a documentation or to remove it ?
>
> Adding documentation, yes.

I also recently added two futex op codes which need to be added to the
man page, but they are documented in Documentation/futex-requeue-pi.txt.
Documentation/pi-futex.txt documents the FUTEX_(UN)LOCK_PI opcodes
which aren't in the man pages either.

--
Darren Hart
IBM Linux Technology Center
Real-Time Linux Team