rcu: Make expedited RCU CPU stall warnings respond to controls
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 29 Jun 2016 21:49:29 +0000 (14:49 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 22 Aug 2016 16:30:26 +0000 (09:30 -0700)
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>
kernel/rcu/tree_exp.h

index 3a647eb..f316683 100644 (file)
@@ -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;