rcu: Detect stalls caused by failure to propagate up rcu_node tree
If all CPUs have passed through quiescent states, then stalls might be due to starvation of the grace-period kthread or to failure to propagate the quiescent states up the rcu_node combining tree. The current stall warning messages do not differentiate, so this commit adds a printout of the root rcu_node structure's ->qsmask field. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
This commit is contained in:
parent
18c629eaeb
commit
237a0f2193
1 changed files with 3 additions and 2 deletions
|
@ -1196,9 +1196,10 @@ static void print_other_cpu_stall(struct rcu_state *rsp, unsigned long gpnum)
|
||||||
} else {
|
} else {
|
||||||
j = jiffies;
|
j = jiffies;
|
||||||
gpa = ACCESS_ONCE(rsp->gp_activity);
|
gpa = ACCESS_ONCE(rsp->gp_activity);
|
||||||
pr_err("All QSes seen, last %s kthread activity %ld (%ld-%ld), jiffies_till_next_fqs=%ld\n",
|
pr_err("All QSes seen, last %s kthread activity %ld (%ld-%ld), jiffies_till_next_fqs=%ld, root ->qsmask %#lx\n",
|
||||||
rsp->name, j - gpa, j, gpa,
|
rsp->name, j - gpa, j, gpa,
|
||||||
jiffies_till_next_fqs);
|
jiffies_till_next_fqs,
|
||||||
|
rcu_get_root(rsp)->qsmask);
|
||||||
/* In this case, the current CPU might be at fault. */
|
/* In this case, the current CPU might be at fault. */
|
||||||
sched_show_task(current);
|
sched_show_task(current);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue