public inbox for linux-fsdevel@vger.kernel.org
 help / color / mirror / Atom feed
* [LSF/MM/BPF TOPIC] allowing parallel directory modifications at the VFS layer
@ 2025-01-17 17:26 Jeff Layton
  2025-01-18  1:06 ` NeilBrown
  0 siblings, 1 reply; 10+ messages in thread
From: Jeff Layton @ 2025-01-17 17:26 UTC (permalink / raw)
  To: lsf-pc; +Cc: NeilBrown, Al Viro, linux-fsdevel

We've hit a number of cases in testing recently where the parent's
i_rwsem ends up being the bottleneck in heavy parallel create
workloads. Currently we have to take the parent's inode->i_rwsem
exclusively when altering a directory, which means that any directory-
morphing operations in the same directory are serialized.

This is particularly onerous in the ->create codepath, since a
filesystem may have to do a number of blocking operations to create a
new file (allocate memory, start a transaction, etc.)

Neil recently posted this RFC series, which allows parallel directory
modifying operations:

    https://lore.kernel.org/linux-fsdevel/20241220030830.272429-1-neilb@suse.de/

Al pointed out a number of problems in it, but the basic approach seems
sound. I'd like to have a discussion at LSF/MM about this.

Are there any problems with the basic approach? Are there other
approaches that might be better? Are there incremental steps we could
do pave the way for this to be a reality?

-- 
Jeff Layton <jlayton@kernel.org>

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-02-03 17:20 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-17 17:26 [LSF/MM/BPF TOPIC] allowing parallel directory modifications at the VFS layer Jeff Layton
2025-01-18  1:06 ` NeilBrown
2025-01-19 21:51   ` Dave Chinner
2025-01-19 22:25     ` NeilBrown
2025-01-20 11:55       ` Jeff Layton
2025-01-21  1:20       ` Dave Chinner
2025-01-21 13:04         ` Jeff Layton
2025-01-22  0:22           ` Dave Chinner
2025-01-22  1:04             ` NeilBrown
2025-02-03 17:19           ` Steve French

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox