Commit b91da88f authored by Linus Torvalds's avatar Linus Torvalds

vfs: drop conditional inode prefetch in __do_lookup_rcu

It seems to hurt performance in real life.  Yes, the inode will be used
later, but the conditional doesn't seem to predict all that well
(negative dentries are not uncommon) and it looks like the cost of
prefetching is simply higher than depending on the cache doing the right
thing.

As usual.
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b307d465
...@@ -1813,8 +1813,6 @@ struct dentry *__d_lookup_rcu(struct dentry *parent, struct qstr *name, ...@@ -1813,8 +1813,6 @@ struct dentry *__d_lookup_rcu(struct dentry *parent, struct qstr *name,
tname = dentry->d_name.name; tname = dentry->d_name.name;
i = dentry->d_inode; i = dentry->d_inode;
prefetch(tname); prefetch(tname);
if (i)
prefetch(i);
/* /*
* This seqcount check is required to ensure name and * This seqcount check is required to ensure name and
* len are loaded atomically, so as not to walk off the * len are loaded atomically, so as not to walk off the
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment