|
@@ -487,8 +487,11 @@ static void print_other_cpu_stall(struct rcu_state *rsp)
|
|
|
rcu_print_task_stall(rnp);
|
|
|
raw_spin_unlock_irqrestore(&rnp->lock, flags);
|
|
|
|
|
|
- /* OK, time to rat on our buddy... */
|
|
|
-
|
|
|
+ /*
|
|
|
+ * OK, time to rat on our buddy...
|
|
|
+ * See Documentation/RCU/stallwarn.txt for info on how to debug
|
|
|
+ * RCU CPU stall warnings.
|
|
|
+ */
|
|
|
printk(KERN_ERR "INFO: %s detected stalls on CPUs/tasks: {",
|
|
|
rsp->name);
|
|
|
rcu_for_each_leaf_node(rsp, rnp) {
|
|
@@ -517,6 +520,11 @@ static void print_cpu_stall(struct rcu_state *rsp)
|
|
|
unsigned long flags;
|
|
|
struct rcu_node *rnp = rcu_get_root(rsp);
|
|
|
|
|
|
+ /*
|
|
|
+ * OK, time to rat on ourselves...
|
|
|
+ * See Documentation/RCU/stallwarn.txt for info on how to debug
|
|
|
+ * RCU CPU stall warnings.
|
|
|
+ */
|
|
|
printk(KERN_ERR "INFO: %s detected stall on CPU %d (t=%lu jiffies)\n",
|
|
|
rsp->name, smp_processor_id(), jiffies - rsp->gp_start);
|
|
|
trigger_all_cpu_backtrace();
|