Files
kernel-tenderloin-3.0/include/linux
Darren Hart ba9c22f2c0 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: http://people.redhat.com/drepper/futex.pdf.
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 <dvhltc@us.ibm.com>
LKML-Reference: <49ED580E.1050502@us.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2009-04-30 11:41:35 +02:00
..
2009-03-18 19:45:11 -07:00
2009-03-31 09:56:26 +01:00
2009-03-05 14:39:32 -05:00
2009-02-12 09:40:14 +11:00
2009-04-01 08:59:23 -07:00
2009-04-01 08:59:23 -07:00
2009-03-27 14:43:59 -04:00
2009-03-01 00:19:35 -08:00
2009-02-10 00:41:26 +01:00
2009-03-16 08:32:27 -06:00
2009-04-01 08:59:29 -07:00
2009-02-18 15:37:56 -08:00
2009-03-24 12:35:17 +01:00
2009-03-30 15:14:53 +02:00
2009-04-03 09:48:29 -07:00
2009-03-31 20:15:33 +02:00
2009-04-02 19:04:53 -07:00
2009-02-11 15:27:15 +11:00
2009-03-13 14:32:29 +01:00
2009-04-02 19:04:49 -07:00
2009-03-30 15:21:59 +02:00
2009-04-01 08:59:17 -07:00
2009-04-02 19:04:48 -07:00
2009-03-26 10:56:35 -07:00
2009-03-20 10:48:14 -07:00
2009-03-15 19:59:13 -07:00
2009-04-01 13:28:15 -04:00
2009-03-10 20:33:18 -04:00
2009-04-01 08:59:13 -07:00
2009-04-01 08:59:13 -07:00
2009-04-01 08:59:13 -07:00
2009-03-13 16:09:12 -07:00
2009-03-30 15:22:01 +02:00
2009-03-26 02:18:35 +01:00
2009-02-26 23:42:11 -08:00
2009-03-30 14:28:58 -07:00
2009-04-01 08:59:24 -07:00
2009-02-16 00:03:10 -08:00
2009-02-27 16:53:50 +09:00
2009-02-20 17:57:48 -08:00
2009-04-03 16:42:35 +01:00
2009-04-01 08:59:13 -07:00
2009-04-01 08:59:15 -07:00
2009-04-02 19:05:01 -07:00
2009-02-18 15:37:53 -08:00
2009-03-26 18:14:21 +01:00