futex: remove the pointer math from double_unlock_hb
Darren Hart [Thu, 12 Mar 2009 22:11:18 +0000 (15:11 -0700)]
Impact: simplify code

I mistakenly included the pointer value ordering in the
double_unlock_hb() in my previous patch. It's only necessary
in the double_lock_hb() function. This patch removes it.

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: <20090312221118.11146.68610.stgit@Aeon>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

kernel/futex.c

index 9c97f67..2331b73 100644 (file)
@@ -658,14 +658,8 @@ double_lock_hb(struct futex_hash_bucket *hb1, struct futex_hash_bucket *hb2)
 static inline void
 double_unlock_hb(struct futex_hash_bucket *hb1, struct futex_hash_bucket *hb2)
 {
-       if (hb1 <= hb2) {
-               spin_unlock(&hb2->lock);
-               if (hb1 < hb2)
-                       spin_unlock(&hb1->lock);
-       } else { /* hb1 > hb2 */
-               spin_unlock(&hb1->lock);
-               spin_unlock(&hb2->lock);
-       }
+       spin_unlock(&hb1->lock);
+       spin_unlock(&hb2->lock);
 }
 
 /*