Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp168550ybl; Thu, 5 Dec 2019 17:17:12 -0800 (PST) X-Google-Smtp-Source: APXvYqx9ECCNO/8h/LcCsu1N/9p5WDoe+UPzDklnbtqPzx9cZ1s6MR3hqxGs0AE3UgVmsyX9k3MO X-Received: by 2002:a9d:155:: with SMTP id 79mr8787916otu.240.1575595032502; Thu, 05 Dec 2019 17:17:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575595032; cv=none; d=google.com; s=arc-20160816; b=qBT4jbozIaXycfP8YWQRZFj2Vxnibnk66OrLbGwaQdqmKfrxfafqyxlda1PRuPUGui QgSQ9i//R/ooVoQAGeAt9JG9y6Kp6GWW7zg5fWLpeUG5SPP1D3wimATF2ppok0KkiZ8r 9cbEcOj4KxVlu6X+XQn6VOATfAiCt4Kn7AFqkJ916MAhsX2Gdq9Q6yzqDt49FvkD83Rt rtf69ip4JNLC9h87E62QBbMw3WFG+BNvC5bnLEpoRgJfH/wtUK6I8mYolyPYZiMOhCMo iykzTT0ImADYBdr3AUuvmrNwtFBKG+3UNJtH3e/A0KdroI2dR2KCbmGtbAl3BUEw16NL AfTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=CLoA4mWw8TCleNRHUfZYUicvOakPBvUI5ryYFrMlu1I=; b=aBv4aNV6lpexHZHv9suvfdxvIg0XEo3PlXwfQQEMG71vQsqNqZO2WQqTddt3c/KzyB 4RO4E2KRvxGE540Q/xdkxUjszL8YtwKOkjCKbGEem2WAXo5CpfAbCPVCOGOKtnImfYVh Vz5lJEjmhn2MbCvsuCdza6jQQIkCaoMGelgciNwMvYQRdHcd8BHmBdVNtr8VncmkXaR5 oYXqLqG9TtxWGh0B0CJzu7Pq2RSU4IL/ZZAaWMOC40z417gL58RQR41Y0JrWmDGmJ7yV piD3ufKs45HRQ30TyGnbDV6O73KtiVMak2x5e9Vc+2WDdxoHn02K8c/Leamifoenx7W8 TN+A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m85si6081264oig.158.2019.12.05.17.16.50; Thu, 05 Dec 2019 17:17:12 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726034AbfLFBQs (ORCPT + 99 others); Thu, 5 Dec 2019 20:16:48 -0500 Received: from mail105.syd.optusnet.com.au ([211.29.132.249]:58365 "EHLO mail105.syd.optusnet.com.au" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725959AbfLFBQs (ORCPT ); Thu, 5 Dec 2019 20:16:48 -0500 Received: from dread.disaster.area (pa49-179-150-192.pa.nsw.optusnet.com.au [49.179.150.192]) by mail105.syd.optusnet.com.au (Postfix) with ESMTPS id C329D3A2755; Fri, 6 Dec 2019 12:16:42 +1100 (AEDT) Received: from dave by dread.disaster.area with local (Exim 4.92.3) (envelope-from ) id 1id2Eb-0007KL-00; Fri, 06 Dec 2019 12:16:41 +1100 Date: Fri, 6 Dec 2019 12:16:40 +1100 From: Dave Chinner To: "Theodore Y. Ts'o" Cc: Andreas Dilger , Daniel Phillips , linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, OGAWA Hirofumi Subject: Re: [RFC] Thing 1: Shardmap fox Ext4 Message-ID: <20191206011640.GQ2695@dread.disaster.area> References: <176a1773-f5ea-e686-ec7b-5f0a46c6f731@phunq.net> <20191127142508.GB5143@mit.edu> <20191128022817.GE22921@mit.edu> <3b5f28e5-2b88-47bb-1b32-5c2fed989f0b@phunq.net> <20191130175046.GA6655@mit.edu> <76ddbdba-55ba-3426-2e29-0fa17db9b6d8@phunq.net> <23F33101-065E-445A-AE5C-D05E35E2B78B@dilger.ca> <20191204234106.GC5641@mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191204234106.GC5641@mit.edu> User-Agent: Mutt/1.10.1 (2018-07-13) X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.3 cv=LYdCFQXi c=1 sm=1 tr=0 a=ZXpxJgW8/q3NVgupyyvOCQ==:117 a=ZXpxJgW8/q3NVgupyyvOCQ==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=pxVhFHJ0LMsA:10 a=ySfo2T4IAAAA:8 a=7-415B0cAAAA:8 a=M2SG4f-PYqfBwsbvji4A:9 a=CjuIK1q_8ugA:10 a=ZUkhVnNHqyo2at-WnAgH:22 a=biEYGPWJfzWAr4FL6Ov7:22 Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org On Wed, Dec 04, 2019 at 06:41:06PM -0500, Theodore Y. Ts'o wrote: > On Wed, Dec 04, 2019 at 11:31:50AM -0700, Andreas Dilger wrote: > > One important use case that we have for Lustre that is not yet in the > > upstream ext4[*] is the ability to do parallel directory operations. > > This means we can create, lookup, and/or unlink entries in the same > > directory concurrently, to increase parallelism for large directories. > > > > > > [*] we've tried to submit the pdirops patch a couple of times, but the > > main blocker is that the VFS has a single directory mutex and couldn't > > use the added functionality without significant VFS changes. > > Patch at https://git.whamcloud.com/?p=fs/lustre-release.git;f=ldiskfs/kernel_patches/patches/rhel8/ext4-pdirop.patch;hb=HEAD > > > > The XFS folks recently added support for parallel directory operations > into the VFS, for the benefit of XFS has this feature. The use of shared i_rwsem locking on the directory inode during lookup/pathwalk allows for concurrent lookup/readdir operations on a single directory. However, the parent dir i_rwsem is still held exclusive for directory modifications like create, unlink, etc. IOWs, the VFS doesn't allow for concurrent directory modification right now, and that's going to be the limiting factor no matter what you do with internal filesystem locking. Cheers, Dave. -- Dave Chinner david@fromorbit.com