From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Piggin Subject: Re: [PATCH RFC] extent mapped page cache Date: Wed, 25 Jul 2007 04:32:17 +0200 Message-ID: <20070725023217.GA32076@wotan.suse.de> References: <20070710210326.GA29963@think.oraclecorp.com> <20070724160032.7a7097db@think.oraclecorp.com> <1185307985.6586.50.camel@localhost> <1185312343.5535.5.camel@lappy> <20070724192509.5bc9b3fe@think.oraclecorp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Peter Zijlstra , Trond Myklebust , Linux Kernel Mailing List , Linux Memory Management List , linux-fsdevel@vger.kernel.org To: Chris Mason Return-path: Received: from mx2.suse.de ([195.135.220.15]:48288 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755706AbXGYCcT (ORCPT ); Tue, 24 Jul 2007 22:32:19 -0400 Content-Disposition: inline In-Reply-To: <20070724192509.5bc9b3fe@think.oraclecorp.com> Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Tue, Jul 24, 2007 at 07:25:09PM -0400, Chris Mason wrote: > On Tue, 24 Jul 2007 23:25:43 +0200 > Peter Zijlstra wrote: > > The tree is a critical part of the patch, but it is also the easiest to > rip out and replace. Basically the code stores a range by inserting > an object at an index corresponding to the end of the range. > > Then it does searches by looking forward from the start of the range. > More or less any tree that can search and return the first key >= > than the requested key will work. > > So, I'd be happy to rip out the tree and replace with something else. > Going completely lockless will be tricky, its something that will deep > thought once the rest of the interface is sane. Just having the other tree and managing it is what makes me a little less positive of this approach, especially using it to store pagecache state when we already have the pagecache tree. Having another tree to store block state I think is a good idea as I said in the fsblock thread with Dave, but I haven't clicked as to why it is a big advantage to use it to manage pagecache state. (and I can see some possible disadvantages in locking and tree manipulation overhead).