[PATCH] namei: Remove unlikely annotation for revalidate check in lookup_fast()

From: Steven Rostedt
Date: Mon Feb 06 2017 - 17:17:44 EST


From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx>

The likely/unlikely profiler showed that the unlikely around the
dentry->d_flags & DCACHE_OP_REVALIDATE was wrong 95% of the time. Adding
trace_printk()s, it revealed that the dentry ops had hooks to:

kernfs_dop_revalidate
pid_revalidate
proc_sys_revalidate
tid_fd_revalidate

As tools today now access files that have these operations often, it's best
just to remove the annotation, as it is more dependent on use cases and not
normal mode of operation if it will be true or not.

Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
---
fs/namei.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/namei.c b/fs/namei.c
index ad74877..23ce3e8 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1599,7 +1599,7 @@ static int lookup_fast(struct nameidata *nd,
dentry = __d_lookup(parent, &nd->last);
if (unlikely(!dentry))
return 0;
- if (unlikely(dentry->d_flags & DCACHE_OP_REVALIDATE))
+ if (dentry->d_flags & DCACHE_OP_REVALIDATE)
status = d_revalidate(dentry, nd->flags);
}
if (unlikely(status <= 0)) {
--
2.9.3