path: root/Documentation/futex-requeue-pi.txt
diff options
authorDarren Hart <>2009-04-20 22:22:22 -0700
committerThomas Gleixner <>2009-04-30 11:41:35 +0200
commitba9c22f2c01cf5c88beed5a6b9e07d42e10bd358 (patch)
tree77664171b51bb6b03eac13ee946b6d894b2da01d /Documentation/futex-requeue-pi.txt
parenta5a2a0c7fa039c59619bc908b3b1ed24734d442a (diff)
futex: remove FUTEX_REQUEUE_PI (non CMP)
The new requeue PI futex op codes were modeled after the existing FUTEX_REQUEUE and FUTEX_CMP_REQUEUE calls. I was unaware at the time that FUTEX_REQUEUE was only around for compatibility reasons and shouldn't be used in new code. Ulrich Drepper elaborates on this in his Futexes are Tricky paper: The deprecated call doesn't catch changes to the futex corresponding to the destination futex which can lead to deadlock. Therefor, I feel it best to remove FUTEX_REQUEUE_PI and leave only FUTEX_CMP_REQUEUE_PI as there are not yet any existing users of the API. This patch does change the OP code value of FUTEX_CMP_REQUEUE_PI to 12 from 13. Since my test case is the only known user of this API, I felt this was the right thing to do, rather than leave a hole in the enumeration. I chose to continue using the _CMP_ modifier in the OP code to make it explicit to the user that the test is being done. Builds, boots, and ran several hundred iterations requeue_pi.c. Signed-off-by: Darren Hart <> LKML-Reference: <> Signed-off-by: Thomas Gleixner <>
Diffstat (limited to 'Documentation/futex-requeue-pi.txt')
0 files changed, 0 insertions, 0 deletions