rcu-tasks: Shorten per-grace-period sleep for RCU Tasks Trace
authorPaul E. McKenney <paulmck@kernel.org>
Thu, 10 Sep 2020 05:05:41 +0000 (22:05 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Wed, 16 Sep 2020 23:32:37 +0000 (16:32 -0700)
commit4fe192dfbe5ba9780df699d411aa4f25ba24cf61
tree7996b27fe887a941a28ac6ad5e69efd62afd77ad
parent574de8766f6efa0757f3c7ac15c9eb29a4636861
rcu-tasks: Shorten per-grace-period sleep for RCU Tasks Trace

The various RCU tasks flavors currently wait 100 milliseconds between each
grace period in order to prevent CPU-bound loops and to favor efficiency
over latency.  However, RCU Tasks Trace needs to have a grace-period
latency of roughly 25 milliseconds, which is completely infeasible given
the 100-millisecond per-grace-period sleep.  This commit therefore reduces
this sleep duration to 5 milliseconds (or one jiffy, whichever is longer)
in kernels built with CONFIG_TASKS_TRACE_RCU_READ_MB=y.

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