aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcu/tree.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-07-18 16:52:18 -0400
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2017-07-24 19:04:18 -0400
commit96036c43066a04c99353abb4a342cc38a52d36f2 (patch)
treefddf8ad685ec40fc96f87cdbebff859a4833cc04 /kernel/rcu/tree.c
parenta3b7b6c2739caf996b95a0164b5b4541c27630c3 (diff)
rcu: Add last-CPU to GP-kthread starvation messages
This commit augments the grace-period-kthread starvation debugging messages by adding the last CPU that ran the kthread. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcu/tree.c')
-rw-r--r--kernel/rcu/tree.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 51d4c3acf32d..48c6ab5ca164 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -1358,12 +1358,13 @@ static void rcu_check_gp_kthread_starvation(struct rcu_state *rsp)
1358 j = jiffies; 1358 j = jiffies;
1359 gpa = READ_ONCE(rsp->gp_activity); 1359 gpa = READ_ONCE(rsp->gp_activity);
1360 if (j - gpa > 2 * HZ) { 1360 if (j - gpa > 2 * HZ) {
1361 pr_err("%s kthread starved for %ld jiffies! g%lu c%lu f%#x %s(%d) ->state=%#lx\n", 1361 pr_err("%s kthread starved for %ld jiffies! g%lu c%lu f%#x %s(%d) ->state=%#lx ->cpu=%d\n",
1362 rsp->name, j - gpa, 1362 rsp->name, j - gpa,
1363 rsp->gpnum, rsp->completed, 1363 rsp->gpnum, rsp->completed,
1364 rsp->gp_flags, 1364 rsp->gp_flags,
1365 gp_state_getname(rsp->gp_state), rsp->gp_state, 1365 gp_state_getname(rsp->gp_state), rsp->gp_state,
1366 rsp->gp_kthread ? rsp->gp_kthread->state : ~0); 1366 rsp->gp_kthread ? rsp->gp_kthread->state : ~0,
1367 rsp->gp_kthread ? task_cpu(rsp->gp_kthread) : -1);
1367 if (rsp->gp_kthread) { 1368 if (rsp->gp_kthread) {
1368 sched_show_task(rsp->gp_kthread); 1369 sched_show_task(rsp->gp_kthread);
1369 wake_up_process(rsp->gp_kthread); 1370 wake_up_process(rsp->gp_kthread);