rcu: Add per-CPU rcuc task dumps to RCU CPU stall warnings
authorZqiang <qiang1.zhang@intel.com>
Tue, 25 Jan 2022 02:47:44 +0000 (10:47 +0800)
committerPaul E. McKenney <paulmck@kernel.org>
Wed, 2 Feb 2022 01:22:17 +0000 (17:22 -0800)
commitc9515875850fefcc79492c5189fe8431e75ddec5
treec5dd3fe74246dfa81fb8f08df014b26ee7ba3aad
parent10c535787436d62ea28156a4b91365fd89b5a432
rcu: Add per-CPU rcuc task dumps to RCU CPU stall warnings

When the rcutree.use_softirq kernel boot parameter is set to zero, all
RCU_SOFTIRQ processing is carried out by the per-CPU rcuc kthreads.
If these kthreads are being starved, quiescent states will not be
reported, which in turn means that the grace period will not end, which
can in turn trigger RCU CPU stall warnings.  This commit therefore dumps
stack traces of stalled CPUs' rcuc kthreads, which can help identify
what is preventing those kthreads from running.

Suggested-by: Ammar Faizi <ammarfaizi2@gnuweeb.org>
Reviewed-by: Ammar Faizi <ammarfaizi2@gnuweeb.org>
Signed-off-by: Zqiang <qiang1.zhang@intel.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
kernel/rcu/tree.c
kernel/rcu/tree.h
kernel/rcu/tree_plugin.h
kernel/rcu/tree_stall.h