Skip to content

Commit 7c72ded

Browse files
paulmckrcuNeeraj Upadhyay
authored andcommitted
rcu: Summarize expedited RCU CPU stall warnings during CSD-lock stalls
During CSD-lock stalls, the additional information output by expedited RCU CPU stall warnings is usually redundant, flooding the console for not good reason. However, this has been the way things work for a few years. This commit therefore uses rcutree.csd_lock_suppress_rcu_stall kernel boot parameter that causes expedited RCU CPU stall warnings to be abbreviated to a single line when there is at least one CPU that has been stuck waiting for CSD lock for more than five seconds. Signed-off-by: Paul E. McKenney <[email protected]> Signed-off-by: Neeraj Upadhyay <[email protected]>
1 parent 27d5749 commit 7c72ded

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

kernel/rcu/tree_exp.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -553,6 +553,10 @@ static void synchronize_rcu_expedited_stall(unsigned long jiffies_start, unsigne
553553
struct rcu_node *rnp;
554554
struct rcu_node *rnp_root = rcu_get_root();
555555

556+
if (READ_ONCE(csd_lock_suppress_rcu_stall) && csd_lock_is_stuck()) {
557+
pr_err("INFO: %s detected expedited stalls, but suppressed full report due to a stuck CSD-lock.\n", rcu_state.name);
558+
return;
559+
}
556560
pr_err("INFO: %s detected expedited stalls on CPUs/tasks: {", rcu_state.name);
557561
ndetected = 0;
558562
rcu_for_each_leaf_node(rnp) {

0 commit comments

Comments
 (0)