rcu: Add grace-period information to RCU CPU stall warnings
authorPaul E. McKenney <paul.mckenney@linaro.org>
Fri, 21 Sep 2012 21:15:05 +0000 (14:15 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 23 Oct 2012 21:55:26 +0000 (14:55 -0700)
This commit causes the last grace period started and completed to be
printed on RCU CPU stall warning messages in order to aid diagnosis.

Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcutree.c

index e785387..8f4de3a 100644 (file)
@@ -947,8 +947,9 @@ static void print_other_cpu_stall(struct rcu_state *rsp)
        raw_spin_unlock_irqrestore(&rnp->lock, flags);
 
        print_cpu_stall_info_end();
-       printk(KERN_CONT "(detected by %d, t=%ld jiffies)\n",
-              smp_processor_id(), (long)(jiffies - rsp->gp_start));
+       pr_cont("(detected by %d, t=%ld jiffies, g=%lu, c=%lu)\n",
+              smp_processor_id(), (long)(jiffies - rsp->gp_start),
+              rsp->gpnum, rsp->completed);
        if (ndetected == 0)
                printk(KERN_ERR "INFO: Stall ended before state dump start\n");
        else if (!trigger_all_cpu_backtrace())
@@ -975,7 +976,8 @@ static void print_cpu_stall(struct rcu_state *rsp)
        print_cpu_stall_info_begin();
        print_cpu_stall_info(rsp, smp_processor_id());
        print_cpu_stall_info_end();
-       printk(KERN_CONT " (t=%lu jiffies)\n", jiffies - rsp->gp_start);
+       pr_cont(" (t=%lu jiffies g=%lu c=%lu)\n",
+               jiffies - rsp->gp_start, rsp->gpnum, rsp->completed);
        if (!trigger_all_cpu_backtrace())
                dump_stack();