ftrace: Use asynchronous grace period for register_ftrace_direct()
authorPaul E. McKenney <paulmck@kernel.org>
Wed, 1 May 2024 23:12:37 +0000 (16:12 -0700)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Mon, 13 May 2024 23:36:40 +0000 (19:36 -0400)
commit33f137143e651321f10eb67ae6404a13bfbf69f8
tree19bacae637427dfb39f9613428882f8aa554fe6a
parentc5963a0990d1da70d1bd399e6811887ff2231b0d
ftrace: Use asynchronous grace period for register_ftrace_direct()

When running heavy test workloads with KASAN enabled, RCU Tasks grace
periods can extend for many tens of seconds, significantly slowing
trace registration.  Therefore, make the registration-side RCU Tasks
grace period be asynchronous via call_rcu_tasks().

Link: https://lore.kernel.org/linux-trace-kernel/ac05be77-2972-475b-9b57-56bef15aa00a@paulmck-laptop
Reported-by: Jakub Kicinski <kuba@kernel.org>
Reported-by: Alexei Starovoitov <ast@kernel.org>
Reported-by: Chris Mason <clm@fb.com>
Reviewed-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
kernel/trace/ftrace.c