From a6b9f5b2f04bd7809cd72c5d33af944758c00ab1 Mon Sep 17 00:00:00 2001 From: Breno Leitao Date: Mon, 5 Jan 2026 07:10:27 -0800 Subject: [PATCH] fs/namei: Remove redundant DCACHE_MANAGED_DENTRY check in __follow_mount_rcu The check for DCACHE_MANAGED_DENTRY at the start of __follow_mount_rcu() is redundant because the only caller (handle_mounts) already verifies d_managed(dentry) before calling this function, so, dentry in __follow_mount_rcu() has always DCACHE_MANAGED_DENTRY set. This early-out optimization never fires in practice - but it is marking as likely(). This was detected with branch profiling, which shows 100% misprediction in this likely. Remove the whole if clause instead of removing the likely, given we know for sure that dentry is not DCACHE_MANAGED_DENTRY. Signed-off-by: Breno Leitao Link: https://patch.msgid.link/20260105-dcache-v1-1-f0d904b4a7c2@debian.org Acked-by: Al Viro Signed-off-by: Christian Brauner --- fs/namei.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/fs/namei.c b/fs/namei.c index 280c69e8fb991..e0d5ebdf43a34 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -1624,9 +1624,6 @@ static bool __follow_mount_rcu(struct nameidata *nd, struct path *path) struct dentry *dentry = path->dentry; unsigned int flags = dentry->d_flags; - if (likely(!(flags & DCACHE_MANAGED_DENTRY))) - return true; - if (unlikely(nd->flags & LOOKUP_NO_XDEV)) return false; -- 2.47.3