On Fri, Dec 04, 2015 at 04:59:48PM -0800, Josh Triplett wrote: > On Fri, Dec 04, 2015 at 04:23:46PM -0800, Paul E. McKenney wrote: > > This commit increases debug information in the case where the grace-period > > kthread is being prevented from running by dumping that kthread's stack. > > That's not everything this patch does; see below. > > > Signed-off-by: Paul E. McKenney <paul...@linux.vnet.ibm.com> > > --- > > kernel/rcu/tree.c | 7 +++++-- > > 1 file changed, 5 insertions(+), 2 deletions(-) > > > > diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c > > index 81aa1cdc6bc9..7b78c88e19a3 100644 > > --- a/kernel/rcu/tree.c > > +++ b/kernel/rcu/tree.c > > @@ -1196,12 +1196,15 @@ static void rcu_check_gp_kthread_starvation(struct > > rcu_state *rsp) > > > > j = jiffies; > > gpa = READ_ONCE(rsp->gp_activity); > > - if (j - gpa > 2 * HZ) > > + if (j - gpa > 2 * HZ) { > > pr_err("%s kthread starved for %ld jiffies! g%lu c%lu f%#x s%d > > ->state=%#lx\n", > > rsp->name, j - gpa, > > rsp->gpnum, rsp->completed, > > rsp->gp_flags, rsp->gp_state, > > - rsp->gp_kthread ? rsp->gp_kthread->state : 0); > > + rsp->gp_kthread ? rsp->gp_kthread->state : ~0); > > The commit message doesn't explain this change. Could you please 1) > document this change in the commit message, and 2) split it into a > separate patch unless it directly relates to the other change (which > doesn't seem like the case)?
Good point, especially given that it took me some time to remember why that change was necessary. It is now in a separate commit, with a commit log stating that this disambiguates the case where there is no RCU GP kthread from the case where there is a TASK_RUNNING RCU GP kthread. Thanx, Paul > > + if (rsp->gp_kthread) > > + sched_show_task(rsp->gp_kthread); > > + } > > } > > > > /* > > -- > > 2.5.2 > > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/