The Linux futex()
system call is a bit of a strange beast. It is widely used to provide
low-level synchronization support in user space, but there is no wrapper
for it in the GNU C Library. Its implementation was meant to be simple,
but kernel developers have despaired at the complex beast that it has
become, and few dare to venture into that code. Recently, though, a new
effort has begun to rework futexes; it is limited to a new system-call
interface for now, but the plans go far beyond that.
Source: LWN.net – [$] Rethinking the futex API