Messages in this thread | | | Subject | Re: [PATCH v4] rcu: Speed up calling of RCU tasks callbacks | From | Randy Dunlap <> | Date | Thu, 24 May 2018 17:14:47 -0700 |
| |
On 05/24/2018 04:26 PM, Randy Dunlap wrote: > On 05/24/2018 04:22 PM, Steven Rostedt wrote: >> On Thu, 24 May 2018 16:19:18 -0700 >> Joel Fernandes <joel@joelfernandes.org> wrote: >> >>> On Thu, May 24, 2018 at 06:49:46PM -0400, Steven Rostedt wrote: >>>> >>>> From: Steven Rostedt (VMware) <rostedt@goodmis.org> >>>> >>>> Joel Fernandes found that the synchronize_rcu_tasks() was taking a >>>> significant amount of time. He demonstrated it with the following test: >>>> >>>> # cd /sys/kernel/tracing >>>> # while [ 1 ]; do x=1; done & >>>> # echo '__schedule_bug:traceon' > set_ftrace_filter >>>> # time echo '!__schedule_bug:traceon' > set_ftrace_filter; >>>> >>>> real 0m1.064s >>>> user 0m0.000s >>>> sys 0m0.004s >>>> >>>> Where it takes a little over a second to perform the synchronize, >>>> because there's a loop that waits 1 second at a time for tasks to get >>>> through their quiescent points when there's a task that must be waited >>>> for. >>>> >>>> After discussion we came up with a simple way to wait for holdouts but >>>> increase the time for each iteration of the loop but no more than a >>>> full second. >>>> >>>> With the new patch we have: >>>> >>>> # time echo '!__schedule_bug:traceon' > set_ftrace_filter; >>>> >>>> real 0m0.131s >>>> user 0m0.000s >>>> sys 0m0.004s >>>> >>>> Which drops it down to 13% of what the original wait time was. >>> >>> Should be 90% of original? >> >> That would be if I said "drops it down X" but I said "drops it down to >> X of what the original wait time was". And 0.131 is 13% of 1.064. :-) > > I think that you are confusing "drops it down to" with "drops it down by". > You said the former. You should say the latter. > IOW, I agree with Joel.
Please forget this. After reading the numbers, your comments look correct.
-- ~Randy
| |