summaryrefslogtreecommitdiffstats
path: root/kernel/rcutree.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paul.mckenney@linaro.org>2012-09-21 14:15:05 -0700
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2012-10-23 14:55:26 -0700
commiteee058826100e5a344f11601e0c47baeaf07c77b (patch)
tree476e151e211d2328c481593509ed8bfe9652b38b /kernel/rcutree.c
parentb637a328bd4f43a0e146d1eef0142b650ba0d644 (diff)
downloadop-kernel-dev-eee058826100e5a344f11601e0c47baeaf07c77b.zip
op-kernel-dev-eee058826100e5a344f11601e0c47baeaf07c77b.tar.gz
rcu: Add grace-period information to RCU CPU stall warnings
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>
Diffstat (limited to 'kernel/rcutree.c')
-rw-r--r--kernel/rcutree.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/rcutree.c b/kernel/rcutree.c
index e785387..8f4de3a 100644
--- a/kernel/rcutree.c
+++ b/kernel/rcutree.c
@@ -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();
OpenPOWER on IntegriCloud