[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1383666186.27527.57.camel@pathway.suse.cz>
Date: Tue, 05 Nov 2013 16:43:06 +0100
From: Petr Mladek <pmladek@...e.cz>
To: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc: Tibor Billes <tbilles@....com>,
Josh Triplett <josh@...htriplett.org>,
Steven Rostedt <rostedt@...dmis.org>,
Jiri Kosina <jkosina@...e.cz>, linux-kernel@...r.kernel.org
Subject: Re: rcu: Throttle rcu_try_advance_all_cbs() execution causes
visible slowdown in ftrace switching
Hello Paul,
Paul E. McKenney píše v Po 04. 11. 2013 v 09:02 -0800:
> On Fri, Nov 01, 2013 at 06:19:44PM +0100, Petr Mladek wrote:
> > Hi,
> >
> > I am doing some clean up in x86 ftrace code. I check the performance by
> > switching between different tracers and by enabling and disabling them.
> >
> > The operation has started to be much slower after rebasing on the
> > kernel tip tree. Bisecting has shown that the difference was caused by
> > the commit c229828ca6bc62d6c654 (rcu: Throttle
> > rcu_try_advance_all_cbs() execution)
> This is a slowpath, and that commit did fix a real bug, so I am OK with
> this modest slowdown.
>
> That said, if you have a workload where this is a problem, please try
> building with CONFIG_RCU_FAST_NO_HZ=n. The fact that this commit had any
> effect at all leads me to believe that you used CONFIG_RCU_FAST_NO_HZ=y.
Yes, I used CONFIG_RCU_FAST_NO_HZ=y.
I am not aware of any other workload with this problem. I tried few
benchmarks: dbench, unixbench, and aim. They did not show any
considerable difference with and without the commit. If you are
interested you might find more details in the attached logs.
Just for record, I also checked how the ftrace test was affected by the
commit under various system load. The speed difference was there if at
least one CPU was idle. But the test was slower on idle system even
without the patch. Hence this is not the only change that causes some
difference. See the attached "ftrace" file for more details.
I am still a bit curious why ftrace code is so special here and why it
does not affect the other benchmarks. Anyway, I agree that ftrace
change/start/stop operations are not time critical and the extra delay
might be worth fixing the other bug. I am fine with it :-)
Best Regards,
Petr
Download attachment "aim9" of type "application/x-gmc-link" (30205 bytes)
Download attachment "dbench" of type "application/x-gmc-link" (6430 bytes)
View attachment "ftrace" of type "text/plain" (2066 bytes)
Download attachment "unixbench" of type "application/x-gmc-link" (4542 bytes)
Powered by blists - more mailing lists