Re: [PATCH tip/core/rcu 2/8] rcutorture: Dump stack when GP kthread stalls

Josh Triplett
2015-12-05T00:59:59Z

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 <paulmck@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)?

> + if (rsp->gp_kthread)
> + sched_show_task(rsp->gp_kthread);
> + }
> }
>
> /*
> --
> 2.5.2
>