dentry_cmp() has predicts inside, but they were not enough to convince the compiler. As for difference in asm, some of the code is reshuffled and there is one less unconditional jump to get there. Signed-off-by: Mateusz Guzik --- i know it's late, but given the non-semantic-modifying nature of the change, i think it can still make it for 6.19 fs/dcache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/dcache.c b/fs/dcache.c index 23d1752c29e6..bc84f89156fa 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -2346,7 +2346,7 @@ struct dentry *__d_lookup_rcu(const struct dentry *parent, continue; if (dentry->d_name.hash_len != hashlen) continue; - if (dentry_cmp(dentry, str, hashlen_len(hashlen)) != 0) + if (unlikely(dentry_cmp(dentry, str, hashlen_len(hashlen)) != 0)) continue; *seqp = seq; return dentry; -- 2.34.1