Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S262876AbTIGHXf (ORCPT ); Sun, 7 Sep 2003 03:23:35 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S262893AbTIGHXf (ORCPT ); Sun, 7 Sep 2003 03:23:35 -0400 Received: from pix-525-pool.redhat.com ([66.187.233.200]:22882 "EHLO devserv.devel.redhat.com") by vger.kernel.org with ESMTP id S262876AbTIGHXd (ORCPT ); Sun, 7 Sep 2003 03:23:33 -0400 Date: Sun, 7 Sep 2003 03:23:22 -0400 (EDT) From: Ingo Molnar X-X-Sender: mingo@devserv.devel.redhat.com To: Hugh Dickins cc: Jamie Lokier , Rusty Russell , Andrew Morton , , Linus Torvalds Subject: Re: [PATCH 2] Little fixes to previous futex patch In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1504 Lines: 43 btw., regarding this fix: ChangeSet@1.1179.2.5, 2003-09-06 12:28:20-07:00, hugh@veritas.com [PATCH] Fix futex hashing bugs why dont we do this: } else { /* Make sure to stop if key1 == key2 */ if (head1 == head2) break; list_add_tail(i, head2); this->key = key2; if (ret - nr_wake >= nr_requeue) break; } instead of the current: } else { list_add_tail(i, head2); this->key = key2; if (ret - nr_wake >= nr_requeue) break; /* Make sure to stop if key1 == key2 */ if (head1 == head2 && head1 != next) head1 = i; } what's the point in requeueing once, and then exiting the loop by changing the loop exit condition variable? You are trying to avoid the lockup but the first one ought to be the most straightforward way to do it. Ingo - 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/