From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [patch 1/6] fs: icache RCU free inodes Date: Tue, 9 Nov 2010 12:15:22 -0500 Message-ID: <20101109171522.GA4522@infradead.org> References: <20101109124610.GB11477@amd> <1289319698.2774.16.camel@edumazet-laptop> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Eric Dumazet , Nick Piggin , Al Viro , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org To: Linus Torvalds Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Tue, Nov 09, 2010 at 09:08:17AM -0800, Linus Torvalds wrote: > Again, this is only an issue for non-dentry lookup. For the dentry > case, we know that if the dentry still exists, then the inode still > exists. So we don't need to check a stable inode pointer if we just > verify the stability of the dentry - and we'll have to do that anyway > obviously. If the dentry still exists we have a reference on the inode and never call into the inode hash. > In other words: let's bite off the complexity in small chunks. Let's > keep the inode lock approach for now for the actual inode lists and > hash lookups. I think they are almost entirely independent issues from > the dentry path. I'm defintively in favour of splitting things into small chunks. I don't particularly care how we do it. inode_lock scaling seems the most simple bit to me, and even that turned out to be a massive amount of work to do properly. Doing the dentry_lock splitup last starts to look more and more interesting given how messy inode_lock is, though.