Re: [PATCH 0/4] kernfs: remove kernfs_rwsem from dentry revalidation
From: Ian Kent
Date: Wed Aug 26 2026 - 00:03:08 EST
On 25/8/26 22:58, Christian Brauner wrote:
On Thu, 20 Aug 2026 22:05:03 -0700, Shakeel Butt wrote:
kernfs: remove kernfs_rwsem from dentry revalidationApplied to the vfs-7.4.kernfs branch of the vfs/vfs.git tree.
At Meta, we are seeing important system daemons that poll cgroupfs and
sysfs geth stuck in kernfs_dop_revalidate() for minutes. The two that
hurt most are the ones we can least afford to lose: oomd, which decides
what to kill when a machine runs out of memory, and below[1], which
records the telemetry used to understand what happened afterwards.
[...]
Patches in the vfs-7.4.kernfs branch should appear in linux-next soon.
Please report any outstanding bugs that were missed during review in a
new review to the original patch series allowing us to drop it.
It's encouraged to provide Acked-bys and Reviewed-bys even though the
patch has now been applied. If possible patch trailers will be updated.
I have a report against kernfs where I cannot find a reason for significant
contention, primarily on ->revaliate(), in either of two vmcores, exactly
the case described in this series.
I reviewed the series and it looks good to me.
The descriptions justifying the changes also look sound.
While I think renames and removals should be ok based on the descriptions
justifying the change (my biggest concern with removing the rwsem) I'll
continue to ponder its implications for a while.
Reviewed-by: Ian Kent <raven@xxxxxxxxxx>
Note that commit hashes shown below are subject to change due to rebase,
trailer updates or similar. If in doubt, please check the listed branch.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git
branch: vfs-7.4.kernfs
[1/4] kernfs: Use VFS lookup context in d_revalidate()
https://git.kernel.org/vfs/vfs/c/b3c97f5cb084
[2/4] kernfs: Prepare directory revisions for lockless reads
https://git.kernel.org/vfs/vfs/c/272e0997df44
[3/4] kernfs: Avoid namespace dereference in d_revalidate()
https://git.kernel.org/vfs/vfs/c/e1c629a8dbc7
[4/4] kernfs: Remove kernfs_rwsem from dentry revalidation
https://git.kernel.org/vfs/vfs/c/8c6ad578e2f0