Files
android_kernel_xiaomi_sm8450/include/linux
Nicholas Piggin b23d7a5f4a ring-buffer: speed up buffer resets by avoiding synchronize_rcu for each CPU
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
    tracing_reset_online_cpus+0x84/0xe0
    tracing_open+0x1d4/0x1f0

On a system with 10x more threads, it starts to become an annoyance.

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.

Link: https://lkml.kernel.org/r/20200625053403.2386972-1-npiggin@gmail.com

Tested-by: Anton Blanchard <anton@ozlabs.org>
Acked-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
2020-06-30 17:18:56 -04:00
..
2020-05-17 21:10:28 -07:00
2020-05-09 16:15:13 -06:00
2020-05-24 20:48:11 +02:00
2020-05-19 09:40:29 -06:00
2020-04-10 15:36:21 -07:00
2020-06-25 08:24:32 -07:00
2020-05-13 08:44:35 -07:00
2020-03-09 11:12:19 +01:00
2020-05-04 11:19:58 -07:00
2020-06-18 09:24:35 -06:00
2020-03-06 11:06:15 +01:00
2020-06-09 09:39:13 -07:00
2020-05-28 07:59:45 -07:00
2020-04-30 12:54:01 -07:00
2020-05-18 10:30:21 +01:00
2020-06-02 15:15:46 +01:00
2020-05-08 18:18:11 +01:00
2020-05-08 00:12:42 +02:00
2020-05-28 10:31:09 +02:00
2020-03-06 11:56:59 +01:00
2020-04-07 10:43:38 -07:00
2020-03-21 16:00:24 +01:00
2020-05-09 13:57:12 +02:00
2020-04-02 09:35:27 -07:00
2020-05-15 13:51:28 -07:00
2020-05-09 13:57:12 +02:00
2020-03-21 16:00:24 +01:00
2020-02-21 10:31:18 +01:00
2020-03-21 16:00:24 +01:00
2020-05-17 14:10:07 -06:00
2020-05-14 16:44:24 +02:00
2020-04-28 11:05:44 +02:00
2020-05-28 11:11:45 -07:00
2020-05-04 09:16:37 -07:00
2020-02-21 11:22:15 -08:00
2020-05-29 14:52:53 +02:00
2020-03-23 17:01:47 +01:00
2020-04-01 12:06:26 -04:00
2020-04-17 06:05:30 -04:00
2020-06-26 00:27:38 -07:00