Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S264003AbTHZGgl (ORCPT ); Tue, 26 Aug 2003 02:36:41 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S263678AbTHZGgl (ORCPT ); Tue, 26 Aug 2003 02:36:41 -0400 Received: from pix-525-pool.redhat.com ([66.187.233.200]:37705 "EHLO devserv.devel.redhat.com") by vger.kernel.org with ESMTP id S264848AbTHZGgj (ORCPT ); Tue, 26 Aug 2003 02:36:39 -0400 Date: Tue, 26 Aug 2003 02:36:36 -0400 (EDT) From: Ingo Molnar X-X-Sender: mingo@devserv.devel.redhat.com To: Andrew Morton cc: rusty@rustcorp.com.au, Subject: Re: [PATCH 2/2] Futex non-page-pinning fix In-Reply-To: <20030825231449.7de28ba6.akpm@osdl.org> 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: 1198 Lines: 30 On Mon, 25 Aug 2003, Andrew Morton wrote: > Ingo Molnar wrote: > > > > The > > kernel doesnt in fact know about the first use of a futex: no-contention > > futexes have zero kernel footprint. This is the big plus of them. So i'd > > really favor some sort of hashing method and no limits, that way the Linux > > VM is extended and every VM address is waitable and wakable on - a pretty > > powerful concept. > > What about the option of not pinning the pages at all: just fault > them in when required? precisely what scheme do you mean by this? There are two important points: when a thread sleeps on a futex, and when some thread does a wakeup on a futex address. We cannot hash the futex based on the virtual address (arbitrary share-ability of futex pages is another key appeal of them), and if by the time the wakeup happens the physical page goes away how do we find which threads are queued on this address? 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/