From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zach Brown Subject: Re: [RFC PATCH 0/2] O_DIRECT locking rework Date: Fri, 20 Oct 2006 13:03:24 -0700 Message-ID: <45392B8C.3070208@oracle.com> References: <20061020183237.GA8674@think.oraclecorp.com> <20061020123058.8b422339.akpm@osdl.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Chris Mason , linux-fsdevel@vger.kernel.org Return-path: Received: from tetsuo.zabbo.net ([207.173.201.20]:1664 "EHLO tetsuo.zabbo.net") by vger.kernel.org with ESMTP id S1030205AbWJTUD0 (ORCPT ); Fri, 20 Oct 2006 16:03:26 -0400 To: Andrew Morton In-Reply-To: <20061020123058.8b422339.akpm@osdl.org> Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org > I think the fake placeholder page can be a kernel-wide thing rather than > per-dio? That would be most desirable because then we have > > #define PagePlaceHolder(page) (page == global_placeholder_page) That would be nice. The current patch hashes the page pointer with page_waitqueue(page) to get at the zone's hashed wait queue buckets. It would probably want to avoid that hot spot by getting at the buckets by hashing the mapping and file offset, I guess. Chris and I have also talked about using tags in the nodes to mark slots that only lead to place holder leaves instead of actually populating the leaves with these place holder pages. We'd avoid having to populate the tree for larger IOs, and callers wouldn't have to filter out the place holders from lookups, but the tree nodes would grow for a rare user :/. - z