lkml.org 
[lkml]   [2013]   [Nov]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: rcu: Throttle rcu_try_advance_all_cbs() execution causes visible slowdown in ftrace switching
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)
>
> The following times are from Intel 2xCore i7-3770 CPU @ 3.40GHz when
> calling the attached test script (time ./test-ftrace). It 100x switches
> between "function" and "nop" tracer. It also enables and disables the
> tracer each time.
>
> Results with the commit c229828ca6bc62d6c654:
>
> real 0m49.393s 0m49.632s 0m49.359s
> user 0m0.004s 0m0.000s 0m0.004s
> sys 0m0.996s 0m0.880s 0m0.892s
>
>
> Results after reverting the commit c229828ca6bc62d6c654:
>
> real 0m35.320s 0m35.687s 0m35.920s
> user 0m0.004s 0m0.004s 0m0.000s
> sys 0m1.140s 0m1.208s 0m1.152s
>
>
> I might do some more debugging on Monday. I wonder if you have any
> hints or ideas.

Hello, Petr,

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.

Thanx, Paul



\
 
 \ /
  Last update: 2013-11-04 19:21    [W:0.742 / U:1.204 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site