diff options
author | Paul E. McKenney <paulmck@kernel.org> | 2021-03-24 17:08:48 -0700 |
---|---|---|
committer | Paul E. McKenney <paulmck@kernel.org> | 2021-05-18 10:54:51 -0700 |
commit | cf868c2af244417ed276ba7f716b980841a71340 (patch) | |
tree | ac16600d876132494cca5ce51396f31275569894 /lib | |
parent | 9fc98e3143de7b7e8d766aef41b46ec0bc0ae4ca (diff) |
rcu-tasks: Make ksoftirqd provide RCU Tasks quiescent states
Heavy networking load can cause a CPU to execute continuously and
indefinitely within ksoftirqd, in which case there will be no voluntary
task switches and thus no RCU-tasks quiescent states. This commit
therefore causes the exiting rcu_softirq_qs() to provide an RCU-tasks
quiescent state.
This of course means that __do_softirq() and its callers cannot be
invoked from within a tracing trampoline.
Reported-by: Toke Høiland-Jørgensen <toke@redhat.com>
Tested-by: Toke Høiland-Jørgensen <toke@redhat.com>
Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions