On Thu, Jan 02, 2014 at 07:05:17AM -0800, Davidlohr Bueso wrote: > From: Jason Low <jason.l...@hp.com> > > - Remove unnecessary head variables. > - Delete unused parameter in queue_unlock(). > > Cc: Ingo Molnar <mi...@kernel.org> > Reviewed-by: Darren Hart <dvh...@linux.intel.com> > Acked-by: Peter Zijlstra <pet...@infradead.org> > Cc: Thomas Gleixner <t...@linutronix.de> > Cc: Paul E. McKenney <paul...@linux.vnet.ibm.com> > Cc: Mike Galbraith <efa...@gmx.de> > Cc: Jeff Mahoney <je...@suse.com> > Cc: Linus Torvalds <torva...@linux-foundation.org> > Cc: Scott Norton <scott.nor...@hp.com> > Cc: Tom Vaden <tom.va...@hp.com> > Cc: Aswin Chandramouleeswaran <as...@hp.com> > Cc: Waiman Long <waiman.l...@hp.com> > Signed-off-by: Jason Low <jason.l...@hp.com> > Signed-off-by: Davidlohr Bueso <davidl...@hp.com>
Reviewed-by: Paul E. McKenney <paul...@linux.vnet.ibm.com> > --- > kernel/futex.c | 39 ++++++++++++--------------------------- > 1 file changed, 12 insertions(+), 27 deletions(-) > > diff --git a/kernel/futex.c b/kernel/futex.c > index f6ff019..085f5fa 100644 > --- a/kernel/futex.c > +++ b/kernel/futex.c > @@ -598,13 +598,10 @@ lookup_pi_state(u32 uval, struct futex_hash_bucket *hb, > { > struct futex_pi_state *pi_state = NULL; > struct futex_q *this, *next; > - struct plist_head *head; > struct task_struct *p; > pid_t pid = uval & FUTEX_TID_MASK; > > - head = &hb->chain; > - > - plist_for_each_entry_safe(this, next, head, list) { > + plist_for_each_entry_safe(this, next, &hb->chain, list) { > if (match_futex(&this->key, key)) { > /* > * Another waiter already exists - bump up > @@ -986,7 +983,6 @@ futex_wake(u32 __user *uaddr, unsigned int flags, int > nr_wake, u32 bitset) > { > struct futex_hash_bucket *hb; > struct futex_q *this, *next; > - struct plist_head *head; > union futex_key key = FUTEX_KEY_INIT; > int ret; > > @@ -999,9 +995,8 @@ futex_wake(u32 __user *uaddr, unsigned int flags, int > nr_wake, u32 bitset) > > hb = hash_futex(&key); > spin_lock(&hb->lock); > - head = &hb->chain; > > - plist_for_each_entry_safe(this, next, head, list) { > + plist_for_each_entry_safe(this, next, &hb->chain, list) { > if (match_futex (&this->key, &key)) { > if (this->pi_state || this->rt_waiter) { > ret = -EINVAL; > @@ -1034,7 +1029,6 @@ futex_wake_op(u32 __user *uaddr1, unsigned int flags, > u32 __user *uaddr2, > { > union futex_key key1 = FUTEX_KEY_INIT, key2 = FUTEX_KEY_INIT; > struct futex_hash_bucket *hb1, *hb2; > - struct plist_head *head; > struct futex_q *this, *next; > int ret, op_ret; > > @@ -1082,9 +1076,7 @@ retry_private: > goto retry; > } > > - head = &hb1->chain; > - > - plist_for_each_entry_safe(this, next, head, list) { > + plist_for_each_entry_safe(this, next, &hb1->chain, list) { > if (match_futex (&this->key, &key1)) { > if (this->pi_state || this->rt_waiter) { > ret = -EINVAL; > @@ -1097,10 +1089,8 @@ retry_private: > } > > if (op_ret > 0) { > - head = &hb2->chain; > - > op_ret = 0; > - plist_for_each_entry_safe(this, next, head, list) { > + plist_for_each_entry_safe(this, next, &hb2->chain, list) { > if (match_futex (&this->key, &key2)) { > if (this->pi_state || this->rt_waiter) { > ret = -EINVAL; > @@ -1270,7 +1260,6 @@ static int futex_requeue(u32 __user *uaddr1, unsigned > int flags, > int drop_count = 0, task_count = 0, ret; > struct futex_pi_state *pi_state = NULL; > struct futex_hash_bucket *hb1, *hb2; > - struct plist_head *head1; > struct futex_q *this, *next; > u32 curval2; > > @@ -1393,8 +1382,7 @@ retry_private: > } > } > > - head1 = &hb1->chain; > - plist_for_each_entry_safe(this, next, head1, list) { > + plist_for_each_entry_safe(this, next, &hb1->chain, list) { > if (task_count - nr_wake >= nr_requeue) > break; > > @@ -1494,7 +1482,7 @@ static inline struct futex_hash_bucket > *queue_lock(struct futex_q *q) > } > > static inline void > -queue_unlock(struct futex_q *q, struct futex_hash_bucket *hb) > +queue_unlock(struct futex_hash_bucket *hb) > __releases(&hb->lock) > { > spin_unlock(&hb->lock); > @@ -1867,7 +1855,7 @@ retry_private: > ret = get_futex_value_locked(&uval, uaddr); > > if (ret) { > - queue_unlock(q, *hb); > + queue_unlock(*hb); > > ret = get_user(uval, uaddr); > if (ret) > @@ -1881,7 +1869,7 @@ retry_private: > } > > if (uval != val) { > - queue_unlock(q, *hb); > + queue_unlock(*hb); > ret = -EWOULDBLOCK; > } > > @@ -2029,7 +2017,7 @@ retry_private: > * Task is exiting and we just wait for the > * exit to complete. > */ > - queue_unlock(&q, hb); > + queue_unlock(hb); > put_futex_key(&q.key); > cond_resched(); > goto retry; > @@ -2081,7 +2069,7 @@ retry_private: > goto out_put_key; > > out_unlock_put_key: > - queue_unlock(&q, hb); > + queue_unlock(hb); > > out_put_key: > put_futex_key(&q.key); > @@ -2091,7 +2079,7 @@ out: > return ret != -EINTR ? ret : -ERESTARTNOINTR; > > uaddr_faulted: > - queue_unlock(&q, hb); > + queue_unlock(hb); > > ret = fault_in_user_writeable(uaddr); > if (ret) > @@ -2113,7 +2101,6 @@ static int futex_unlock_pi(u32 __user *uaddr, unsigned > int flags) > { > struct futex_hash_bucket *hb; > struct futex_q *this, *next; > - struct plist_head *head; > union futex_key key = FUTEX_KEY_INIT; > u32 uval, vpid = task_pid_vnr(current); > int ret; > @@ -2153,9 +2140,7 @@ retry: > * Ok, other tasks may need to be woken up - check waiters > * and do the wakeup if necessary: > */ > - head = &hb->chain; > - > - plist_for_each_entry_safe(this, next, head, list) { > + plist_for_each_entry_safe(this, next, &hb->chain, list) { > if (!match_futex (&this->key, &key)) > continue; > ret = wake_futex_pi(uaddr, uval, this); > -- > 1.8.1.4 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/