Commit fb62db2b authored by Randy Dunlap's avatar Randy Dunlap Committed by Ingo Molnar

futex: Fix kernel-doc notation & typos

Convert futex_requeue() function parameters to use @name
kernel-doc notation and add @fshared & @cmpval to prevent
kernel-doc warnings.

Add @list to struct futex_q.

Fix a few typos.
Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
Acked-by: default avatarRusty Russell <rusty@rustcorp.com.au>
LKML-Reference: <20101013110234.89b06043.randy.dunlap@oracle.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 15e408cd
...@@ -91,6 +91,7 @@ struct futex_pi_state { ...@@ -91,6 +91,7 @@ struct futex_pi_state {
/** /**
* struct futex_q - The hashed futex queue entry, one per waiting task * struct futex_q - The hashed futex queue entry, one per waiting task
* @list: priority-sorted list of tasks waiting on this futex
* @task: the task waiting on the futex * @task: the task waiting on the futex
* @lock_ptr: the hash bucket lock * @lock_ptr: the hash bucket lock
* @key: the key the futex is hashed on * @key: the key the futex is hashed on
...@@ -104,7 +105,7 @@ struct futex_pi_state { ...@@ -104,7 +105,7 @@ struct futex_pi_state {
* *
* A futex_q has a woken state, just like tasks have TASK_RUNNING. * A futex_q has a woken state, just like tasks have TASK_RUNNING.
* It is considered woken when plist_node_empty(&q->list) || q->lock_ptr == 0. * It is considered woken when plist_node_empty(&q->list) || q->lock_ptr == 0.
* The order of wakup is always to make the first condition true, then * The order of wakeup is always to make the first condition true, then
* the second. * the second.
* *
* PI futexes are typically woken before they are removed from the hash list via * PI futexes are typically woken before they are removed from the hash list via
...@@ -295,7 +296,7 @@ void put_futex_key(int fshared, union futex_key *key) ...@@ -295,7 +296,7 @@ void put_futex_key(int fshared, union futex_key *key)
* Slow path to fixup the fault we just took in the atomic write * Slow path to fixup the fault we just took in the atomic write
* access to @uaddr. * access to @uaddr.
* *
* We have no generic implementation of a non destructive write to the * We have no generic implementation of a non-destructive write to the
* user address. We know that we faulted in the atomic pagefault * user address. We know that we faulted in the atomic pagefault
* disabled section so we can as well avoid the #PF overhead by * disabled section so we can as well avoid the #PF overhead by
* calling get_user_pages() right away. * calling get_user_pages() right away.
...@@ -515,7 +516,7 @@ lookup_pi_state(u32 uval, struct futex_hash_bucket *hb, ...@@ -515,7 +516,7 @@ lookup_pi_state(u32 uval, struct futex_hash_bucket *hb,
*/ */
pi_state = this->pi_state; pi_state = this->pi_state;
/* /*
* Userspace might have messed up non PI and PI futexes * Userspace might have messed up non-PI and PI futexes
*/ */
if (unlikely(!pi_state)) if (unlikely(!pi_state))
return -EINVAL; return -EINVAL;
...@@ -736,8 +737,8 @@ static void wake_futex(struct futex_q *q) ...@@ -736,8 +737,8 @@ static void wake_futex(struct futex_q *q)
/* /*
* We set q->lock_ptr = NULL _before_ we wake up the task. If * We set q->lock_ptr = NULL _before_ we wake up the task. If
* a non futex wake up happens on another CPU then the task * a non-futex wake up happens on another CPU then the task
* might exit and p would dereference a non existing task * might exit and p would dereference a non-existing task
* struct. Prevent this by holding a reference on p across the * struct. Prevent this by holding a reference on p across the
* wake up. * wake up.
*/ */
...@@ -1131,11 +1132,13 @@ static int futex_proxy_trylock_atomic(u32 __user *pifutex, ...@@ -1131,11 +1132,13 @@ static int futex_proxy_trylock_atomic(u32 __user *pifutex,
/** /**
* futex_requeue() - Requeue waiters from uaddr1 to uaddr2 * futex_requeue() - Requeue waiters from uaddr1 to uaddr2
* uaddr1: source futex user address * @uaddr1: source futex user address
* uaddr2: target futex user address * @fshared: 0 for a PROCESS_PRIVATE futex, 1 for PROCESS_SHARED
* nr_wake: number of waiters to wake (must be 1 for requeue_pi) * @uaddr2: target futex user address
* nr_requeue: number of waiters to requeue (0-INT_MAX) * @nr_wake: number of waiters to wake (must be 1 for requeue_pi)
* requeue_pi: if we are attempting to requeue from a non-pi futex to a * @nr_requeue: number of waiters to requeue (0-INT_MAX)
* @cmpval: @uaddr1 expected value (or %NULL)
* @requeue_pi: if we are attempting to requeue from a non-pi futex to a
* pi futex (pi to pi requeue is not supported) * pi futex (pi to pi requeue is not supported)
* *
* Requeue waiters on uaddr1 to uaddr2. In the requeue_pi case, try to acquire * Requeue waiters on uaddr1 to uaddr2. In the requeue_pi case, try to acquire
...@@ -2651,7 +2654,7 @@ static int __init futex_init(void) ...@@ -2651,7 +2654,7 @@ static int __init futex_init(void)
* of the complex code paths. Also we want to prevent * of the complex code paths. Also we want to prevent
* registration of robust lists in that case. NULL is * registration of robust lists in that case. NULL is
* guaranteed to fault and we get -EFAULT on functional * guaranteed to fault and we get -EFAULT on functional
* implementation, the non functional ones will return * implementation, the non-functional ones will return
* -ENOSYS. * -ENOSYS.
*/ */
curval = cmpxchg_futex_value_locked(NULL, 0, 0); curval = cmpxchg_futex_value_locked(NULL, 0, 0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment