Re: implementing Futex

From: Darren Hart
Date: Mon Aug 31 2009 - 12:30:41 EST


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
--
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/