Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758347AbZCMJ1B (ORCPT ); Fri, 13 Mar 2009 05:27:01 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754793AbZCMJ0w (ORCPT ); Fri, 13 Mar 2009 05:26:52 -0400 Received: from www.tglx.de ([62.245.132.106]:53422 "EHLO www.tglx.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753913AbZCMJ0v (ORCPT ); Fri, 13 Mar 2009 05:26:51 -0400 Date: Fri, 13 Mar 2009 10:26:07 +0100 (CET) From: Thomas Gleixner To: Darren Hart cc: linux-kernel@vger.kernel.org, Peter Zijlstra , Ingo Molnar , Rusty Russell Subject: Re: [PATCH] futex: remove the pointer math from double_unlock_hb In-Reply-To: <20090312221118.11146.68610.stgit@Aeon> Message-ID: References: <20090312221118.11146.68610.stgit@Aeon> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1631 Lines: 52 On Thu, 12 Mar 2009, Darren Hart wrote: > 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 > Cc: Thomas Gleixner > Cc: Peter Zijlstra > Cc: Ingo Molnar > Cc: Rusty Russell > --- > > kernel/futex.c | 10 ++-------- > 1 files changed, 2 insertions(+), 8 deletions(-) > > diff --git a/kernel/futex.c b/kernel/futex.c > index 9c97f67..2331b73 100644 > --- a/kernel/futex.c > +++ b/kernel/futex.c > @@ -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); This is missing the check for hb1 == hb2. As I said before: > Can we just put the code into double_unlock_hb() which gets replaced ? > > i.e: > > spin_unlock(&hb1->lock); > if (hb1 != hb2) > spin_unlock(&hb2->lock); Thanks, tglx -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/