futex: clean up fault logic
authorDarren Hart <dvhltc@us.ibm.com>
Thu, 12 Mar 2009 07:56:13 +0000 (00:56 -0700)
committerIngo Molnar <mingo@elte.hu>
Thu, 12 Mar 2009 10:20:57 +0000 (11:20 +0100)
commite4dc5b7a36a49eff97050894cf1b3a9a02523717
tree91a0aceb21b1869385507c2631bf97fbf180697b
parente8f6386c01a5699c115bdad10271a24076364c97
futex: clean up fault logic

Impact: cleanup

Older versions of the futex code held the mmap_sem which had to
be dropped in order to call get_user(), so a two-pronged fault
handling mechanism was employed to handle faults of the atomic
operations.  The mmap_sem is no longer held, so get_user()
should be adequate.  This patch greatly simplifies the logic and
improves legibility.

Build and boot tested on a 4 way Intel x86_64 workstation.
Passes basic pthread_mutex and PI tests out of
ltp/testcases/realtime.

Signed-off-by: Darren Hart <dvhltc@us.ibm.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: Rusty Russell <rusty@rustcorp.com.au>
LKML-Reference: <20090312075612.9856.48612.stgit@Aeon>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/futex.c