rcu-tasks: Use more aggressive polling for RCU Tasks Trace
authorPaul E. McKenney <paulmck@kernel.org>
Thu, 10 Sep 2020 04:36:34 +0000 (21:36 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Wed, 16 Sep 2020 23:32:36 +0000 (16:32 -0700)
commit2393a613d2e3da35bd73ee55d9dca0fb04810955
tree6eafc01db60199ab348dca5766fd23f8ba07aafd
parent6731da9e0ff33d8c5f340705d118a27d3b817d1e
rcu-tasks: Use more aggressive polling for RCU Tasks Trace

The RCU Tasks Trace grace periods are too slow, as in 40x slower than
those of RCU Tasks.  This is due to my having assumed a one-second grace
period was OK, and thus not having optimized any further.  This commit
provides the first step in this optimization process, namely by allowing
the task_list scan backoff interval to be specified on a per-flavor basis,
and then speeding up the scans for RCU Tasks Trace.  However, kernels
built with CONFIG_TASKS_TRACE_RCU_READ_MB=y continue to use the old slower
backoff, consistent with that Kconfig option's goal of reducing IPIs.

Link: https://lore.kernel.org/bpf/CAADnVQK_AiX+S_L_A4CQWT11XyveppBbQSQgH_qWGyzu_E8Yeg@mail.gmail.com/
Reported-by: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: <bpf@vger.kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/rcu/tasks.h