The standard futex mechanism in the Linux kernel uses a global hash to store
transient state. Collisions on that hash can lead to performance degradation
and on real-time enabled kernels to unbound priority inversions.

To guarantee futexes without collisions on the global kernel hash, we provide
a mechanism to attach to a futex. This creates futex private state which
avoids hash collisions and on NUMA systems also cross node memory accesses.

The full explanation of the mechanism is in the changelog of 
patch 4/7 'futex: Add support for attached futexes'.

The last two patches in the series contain a first update to the futex man
page and initial glibc support.

For your conveniance the kernel part is available at:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.futex

Thanks,

        tglx

Reply via email to