From: "Steven Rostedt (VMware)" <[email protected]>

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) <[email protected]>
---
 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

Reply via email to