From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: real_lookup() lock contention causes poor performance Date: Tue, 26 Jan 2010 02:55:41 -0500 Message-ID: <20100126075541.GA14602@infradead.org> References: <20100125170955.GA27526@yahoo-inc.com> <12CBE910-64A3-4A3A-BB6D-B1B2AAFF5067@sun.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Quentin Barnes , linux-fsdevel@vger.kernel.org To: Andreas Dilger Return-path: Received: from bombadil.infradead.org ([18.85.46.34]:34543 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752924Ab0AZHzn (ORCPT ); Tue, 26 Jan 2010 02:55:43 -0500 Content-Disposition: inline In-Reply-To: <12CBE910-64A3-4A3A-BB6D-B1B2AAFF5067@sun.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Mon, Jan 25, 2010 at 04:15:03PM -0700, Andreas Dilger wrote: > We have had something similar for Lustre patched into ext3/ext4 for a > long time -"__iopen__/{inum}", which depends on a mount option "iopen" > to allow this functionality, and "iopen_nopriv" to allow access to non- > root users. > > The problem we had in the past is that this needed a bunch of changes in > ext3/4 and the VFS in order to handle subtle races in the dcache. We're > moving away from changing ext3/4 and changing the API to use export > methods (i.e. ext4_get_dentry()) on each filesystem, which should > simplify this a lot, though I'm not sure it will solve your scalability > problem. the get_dentry export operation is long gone. Take a look at xfs_handle_to_dentry() and friends for a semi-sane (not the horribe legacy ABI but the implementation) open by handle implementation using the full exportfs infrastructure. It's still going to hit the dcache locking quite hard, though.