Re: [PATCH] ring-buffer: speed up buffer resets by avoiding synchronize_rcu for each CPU

2020-06-29 Thread Nicholas Piggin
Excerpts from Steven Rostedt's message of June 30, 2020 8:16 am: > On Thu, 25 Jun 2020 15:34:03 +1000 > Nicholas Piggin wrote: > >> Batch these up so we disable all the per-cpu buffers first, then >> synchronize_rcu() once, then reset each of the buffers. This brings >> the time down to about 0.5

Re: [PATCH] ring-buffer: speed up buffer resets by avoiding synchronize_rcu for each CPU

2020-06-29 Thread Steven Rostedt
On Thu, 25 Jun 2020 15:34:03 +1000 Nicholas Piggin wrote: > Batch these up so we disable all the per-cpu buffers first, then > synchronize_rcu() once, then reset each of the buffers. This brings > the time down to about 0.5s. After applying this patch, running tools/testing/selftests/ftracetest

Re: [PATCH] ring-buffer: speed up buffer resets by avoiding synchronize_rcu for each CPU

2020-06-29 Thread Steven Rostedt
On Mon, 29 Jun 2020 08:35:11 -0700 "Paul E. McKenney" wrote: > Looks plausible from an RCU viewpoint: > > Acked-by: Paul E. McKenney Thanks Nicholas, Anton and Paul, I'll pull this in and start testing it. -- Steve

Re: [PATCH] ring-buffer: speed up buffer resets by avoiding synchronize_rcu for each CPU

2020-06-29 Thread Paul E. McKenney
On Thu, Jun 25, 2020 at 03:34:03PM +1000, Nicholas Piggin wrote: > On a 144 thread system, `perf ftrace` takes about 20 seconds to start > up, due to calling synchronize_rcu() for each CPU. > > cat /proc/108560/stack > 0xc0003e7eb336f470 > __switch_to+0x2e0/0x480 > __wait_rcu_gp+0x20

Re: [PATCH] ring-buffer: speed up buffer resets by avoiding synchronize_rcu for each CPU

2020-06-25 Thread Anton Blanchard
Hi Nick, > On a 144 thread system, `perf ftrace` takes about 20 seconds to start > up, due to calling synchronize_rcu() for each CPU. > > cat /proc/108560/stack > 0xc0003e7eb336f470 > __switch_to+0x2e0/0x480 > __wait_rcu_gp+0x20c/0x220 > synchronize_rcu+0x9c/0xc0 > ring_buff

[PATCH] ring-buffer: speed up buffer resets by avoiding synchronize_rcu for each CPU

2020-06-24 Thread Nicholas Piggin
On a 144 thread system, `perf ftrace` takes about 20 seconds to start up, due to calling synchronize_rcu() for each CPU. cat /proc/108560/stack 0xc0003e7eb336f470 __switch_to+0x2e0/0x480 __wait_rcu_gp+0x20c/0x220 synchronize_rcu+0x9c/0xc0 ring_buffer_reset_cpu+0x88/0x2e0