Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1575202 > unrolled thread

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

Started bySteven Rostedt <rostedt@goodmis.org>
First post2017-02-06 23:20 +0100
Last post2017-02-07 02:40 +0100
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] namei: Remove unlikely annotation for revalidate check in  lookup_fast() Steven Rostedt <rostedt@goodmis.org> - 2017-02-06 23:20 +0100
    Re: [PATCH] namei: Remove unlikely annotation for revalidate check  in lookup_fast() Al Viro <viro@ZenIV.linux.org.uk> - 2017-02-07 01:10 +0100
      Re: [PATCH] namei: Remove unlikely annotation for revalidate check  in lookup_fast() Steven Rostedt <rostedt@goodmis.org> - 2017-02-07 02:40 +0100

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

FromSteven Rostedt <rostedt@goodmis.org>
Date2017-02-06 23:20 +0100
Subject[PATCH] namei: Remove unlikely annotation for revalidate check in lookup_fast()
Message-ID<t7ZNE-2v6-23@gated-at.bofh.it>
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

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@goodmis.org>
---
 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

[toc] | [next] | [standalone]


#1575267 — Re: [PATCH] namei: Remove unlikely annotation for revalidate check in lookup_fast()

FromAl Viro <viro@ZenIV.linux.org.uk>
Date2017-02-07 01:10 +0100
SubjectRe: [PATCH] namei: Remove unlikely annotation for revalidate check in lookup_fast()
Message-ID<t81w5-3FY-1@gated-at.bofh.it>
In reply to#1575202
On Mon, Feb 06, 2017 at 05:17:35PM -0500, Steven Rostedt wrote:
> From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
> 
> 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.

"Tools" being what, exactly?  What kind of load had that been measured on?

[toc] | [prev] | [next] | [standalone]


#1575312 — Re: [PATCH] namei: Remove unlikely annotation for revalidate check in lookup_fast()

FromSteven Rostedt <rostedt@goodmis.org>
Date2017-02-07 02:40 +0100
SubjectRe: [PATCH] namei: Remove unlikely annotation for revalidate check in lookup_fast()
Message-ID<t82Vb-4qF-7@gated-at.bofh.it>
In reply to#1575267
On Tue, 7 Feb 2017 00:06:42 +0000
Al Viro <viro@ZenIV.linux.org.uk> wrote:

> On Mon, Feb 06, 2017 at 05:17:35PM -0500, Steven Rostedt wrote:
> > From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
> > 
> > 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.  
> 
> "Tools" being what, exactly?  What kind of load had that been measured on?

I first saw it on my system that I ran for 3 weeks. But I investigated
it more on a test box that was mostly idle. On the test box the "tools"
was mostly systemd and journald. I can look deeper into it if you like.

-- Steve

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web