]> git.baikalelectronics.ru Git - kernel.git/commit
dcache: move the DCACHE_OP_COMPARE case out of the __d_lookup_rcu loop
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 11 Aug 2022 22:29:46 +0000 (15:29 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 17 Aug 2022 21:33:03 +0000 (14:33 -0700)
commitca4fab03ce099dd5a9b8dff4fff85eb5ca5c5fea
tree51da9f88acd77e76e35b6aabf0e5968081b8c110
parent07370a5bf7560566f85c21de5510998c0947ca7a
dcache: move the DCACHE_OP_COMPARE case out of the __d_lookup_rcu loop

__d_lookup_rcu() is one of the hottest functions in the kernel on
certain loads, and it is complicated by filesystems that might want to
have their own name compare function.

We can improve code generation by moving the test of DCACHE_OP_COMPARE
outside the loop, which makes the loop itself much simpler, at the cost
of some code duplication.  But both cases end up being simpler, and the
"native" direct case-sensitive compare particularly so.

Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/dcache.c