summaryrefslogtreecommitdiffstats
path: root/kernel/rcu
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2016-06-29 14:49:29 -0700
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2016-08-22 09:30:26 -0700
commit24a6cff286030b98149ff10b968cba31280fcb7a (patch)
treebf2fed6066e2700818e15d30d1d002337b69e341 /kernel/rcu
parent908d2c1fd156d414008e1b7e1fb5a7716e013231 (diff)
downloadlinux-24a6cff286030b98149ff10b968cba31280fcb7a.tar.gz
linux-24a6cff286030b98149ff10b968cba31280fcb7a.tar.bz2
linux-24a6cff286030b98149ff10b968cba31280fcb7a.zip
rcu: Make expedited RCU CPU stall warnings respond to controls
The expedited RCU CPU stall warnings currently responds to neither the panic_on_rcu_stall sysctl setting nor the rcupdate.rcu_cpu_stall_suppress kernel boot parameter. This commit therefore updates the expedited code to respond to these two controls. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcu')
-rw-r--r--kernel/rcu/tree_exp.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/rcu/tree_exp.h b/kernel/rcu/tree_exp.h
index 3a647eb96f23..f316683b18f1 100644
--- a/kernel/rcu/tree_exp.h
+++ b/kernel/rcu/tree_exp.h
@@ -428,6 +428,9 @@ static void synchronize_sched_expedited_wait(struct rcu_state *rsp)
if (ret > 0 || sync_rcu_preempt_exp_done(rnp_root))
return;
WARN_ON(ret < 0); /* workqueues should not be signaled. */
+ if (rcu_cpu_stall_suppress)
+ continue;
+ panic_on_rcu_stall();
pr_err("INFO: %s detected expedited stalls on CPUs/tasks: {",
rsp->name);
ndetected = 0;