]> git.baikalelectronics.ru Git - kernel.git/commit
Revert "futex_requeue_pi optimization"
authorThomas Gleixner <tglx@linutronix.de>
Sun, 17 Jun 2007 19:11:10 +0000 (21:11 +0200)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 18 Jun 2007 16:48:41 +0000 (09:48 -0700)
commit6af2549977ff0769129136173173ca5b381b2c63
tree1c31f8934b0d5472c9038c042ff27d08b52ffdc6
parentc1f73235f5438071af6967251a6cab010dd3ad0c
Revert "futex_requeue_pi optimization"

This reverts commit 838500a60b30da1361af2436b3bbfa8e47f700f5.

It not only introduced user space visible changes to the futex syscall,
it is also non-functional and there is no way to fix it proper before
the 2.6.22 release.

The breakage report ( http://lkml.org/lkml/2007/5/12/17 ) went
unanswered, and unfortunately it turned out that the concept is not
feasible at all.  It violates the rtmutex semantics badly by introducing
a virtual owner, which hacks around the coupling of the user-space
pi_futex and the kernel internal rt_mutex representation.

At the moment the only safe option is to remove it fully as it contains
user-space visible changes to broken kernel code, which we do not want
to expose in the 2.6.22 release.

The patch reverts the original patch mostly 1:1, but contains a couple
of trivial manual cleanups which were necessary due to patches, which
touched the same area of code later.

Verified against the glibc tests and my own PI futex tests.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Ulrich Drepper <drepper@redhat.com>
Cc: Pierre Peiffer <pierre.peiffer@bull.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/futex.h
kernel/futex.c
kernel/futex_compat.c
kernel/rtmutex.c
kernel/rtmutex_common.h