rcu: Check callback-invocation time limit for rcuc kthreads
authorPaul E. McKenney <paulmck@kernel.org>
Tue, 21 Mar 2023 23:43:54 +0000 (16:43 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Thu, 11 May 2023 20:42:39 +0000 (13:42 -0700)
commitfea1c1f0101783f24d00e065ecd3d6e90292f887
treeed7f53f9fadf31924e36177e92524537655a4557
parent7a3cc29136960c45eff362a7304dd4f6eaf34cdd
rcu: Check callback-invocation time limit for rcuc kthreads

Currently, a callback-invocation time limit is enforced only for
callbacks invoked from the softirq environment, the rationale being
that when callbacks are instead invoked from rcuc and rcuoc kthreads,
these callbacks cannot be holding up other softirq vectors.

Which is in fact true.  However, if an rcuc kthread spends too much time
invoking callbacks, it can delay quiescent-state reports from its CPU,
which can also be a problem.

This commit therefore applies the callback-invocation time limit to
callback invocation from the rcuc kthreads as well as from softirq.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/rcu/tree.c