diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-10 19:16:48 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-10 19:16:48 -0400 |
| commit | 75063600fd7b27fe447112c27997f100b9e2f99b (patch) | |
| tree | 9a495bc5ec6570b0eb7e0d1f77ef23d97b33656b /include | |
| parent | be15f9d63b97da0065187696962331de6cd9de9e (diff) | |
| parent | 2070887fdeacd9c13f3e805e3f0086c9f22a4d93 (diff) | |
Merge branch 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
futex: fix restart in wait_requeue_pi
futex: fix restart for early wakeup in futex_wait_requeue_pi()
futex: cleanup error exit
futex: remove the wait queue
futex: add requeue-pi documentation
futex: remove FUTEX_REQUEUE_PI (non CMP)
futex: fix futex_wait_setup key handling
sparc64: extend TI_RESTART_BLOCK space by 8 bytes
futex: fixup unlocked requeue pi case
futex: add requeue_pi functionality
futex: split out futex value validation code
futex: distangle futex_requeue()
futex: add FUTEX_HAS_TIMEOUT flag to restart.futex.flags
rt_mutex: add proxy lock routines
futex: split out fixup owner logic from futex_lock_pi()
futex: split out atomic logic from futex_lock_pi()
futex: add helper to find the top prio waiter of a futex
futex: separate futex_wait_queue_me() logic from futex_wait()
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/futex.h | 6 | ||||
| -rw-r--r-- | include/linux/thread_info.h | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/include/linux/futex.h b/include/linux/futex.h index 3bf5bb5a34f9..34956c8fdebf 100644 --- a/include/linux/futex.h +++ b/include/linux/futex.h | |||
| @@ -23,6 +23,8 @@ union ktime; | |||
| 23 | #define FUTEX_TRYLOCK_PI 8 | 23 | #define FUTEX_TRYLOCK_PI 8 |
| 24 | #define FUTEX_WAIT_BITSET 9 | 24 | #define FUTEX_WAIT_BITSET 9 |
| 25 | #define FUTEX_WAKE_BITSET 10 | 25 | #define FUTEX_WAKE_BITSET 10 |
| 26 | #define FUTEX_WAIT_REQUEUE_PI 11 | ||
| 27 | #define FUTEX_CMP_REQUEUE_PI 12 | ||
| 26 | 28 | ||
| 27 | #define FUTEX_PRIVATE_FLAG 128 | 29 | #define FUTEX_PRIVATE_FLAG 128 |
| 28 | #define FUTEX_CLOCK_REALTIME 256 | 30 | #define FUTEX_CLOCK_REALTIME 256 |
| @@ -38,6 +40,10 @@ union ktime; | |||
| 38 | #define FUTEX_TRYLOCK_PI_PRIVATE (FUTEX_TRYLOCK_PI | FUTEX_PRIVATE_FLAG) | 40 | #define FUTEX_TRYLOCK_PI_PRIVATE (FUTEX_TRYLOCK_PI | FUTEX_PRIVATE_FLAG) |
| 39 | #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITS | FUTEX_PRIVATE_FLAG) | 41 | #define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITS | FUTEX_PRIVATE_FLAG) |
| 40 | #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITS | FUTEX_PRIVATE_FLAG) | 42 | #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITS | FUTEX_PRIVATE_FLAG) |
| 43 | #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \ | ||
| 44 | FUTEX_PRIVATE_FLAG) | ||
| 45 | #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \ | ||
| 46 | FUTEX_PRIVATE_FLAG) | ||
| 41 | 47 | ||
| 42 | /* | 48 | /* |
| 43 | * Support for robust futexes: the kernel cleans up held futexes at | 49 | * Support for robust futexes: the kernel cleans up held futexes at |
diff --git a/include/linux/thread_info.h b/include/linux/thread_info.h index e6b820f8b56b..a8cc4e13434c 100644 --- a/include/linux/thread_info.h +++ b/include/linux/thread_info.h | |||
| @@ -21,13 +21,14 @@ struct restart_block { | |||
| 21 | struct { | 21 | struct { |
| 22 | unsigned long arg0, arg1, arg2, arg3; | 22 | unsigned long arg0, arg1, arg2, arg3; |
| 23 | }; | 23 | }; |
| 24 | /* For futex_wait */ | 24 | /* For futex_wait and futex_wait_requeue_pi */ |
| 25 | struct { | 25 | struct { |
| 26 | u32 *uaddr; | 26 | u32 *uaddr; |
| 27 | u32 val; | 27 | u32 val; |
| 28 | u32 flags; | 28 | u32 flags; |
| 29 | u32 bitset; | 29 | u32 bitset; |
| 30 | u64 time; | 30 | u64 time; |
| 31 | u32 *uaddr2; | ||
| 31 | } futex; | 32 | } futex; |
| 32 | /* For nanosleep */ | 33 | /* For nanosleep */ |
| 33 | struct { | 34 | struct { |
