lkml.org 
[lkml]   [2018]   [Jun]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH tip/core/rcu 19/27] rcu: Add diagnostics for rcutorture writer stall warning
    Date
    This commit adds any in-the-future ->gp_seq_needed fields to the
    diagnostics for an rcutorture writer stall warning message.

    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    ---
    kernel/rcu/tree.c | 21 +++++++++++++++++++++
    1 file changed, 21 insertions(+)

    diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
    index c5fec335bc31..bc1ed77a3df9 100644
    --- a/kernel/rcu/tree.c
    +++ b/kernel/rcu/tree.c
    @@ -606,11 +606,32 @@ EXPORT_SYMBOL_GPL(rcu_sched_force_quiescent_state);
    */
    void show_rcu_gp_kthreads(void)
    {
    + int cpu;
    + struct rcu_data *rdp;
    + struct rcu_node *rnp;
    struct rcu_state *rsp;

    for_each_rcu_flavor(rsp) {
    pr_info("%s: wait state: %d ->state: %#lx\n",
    rsp->name, rsp->gp_state, rsp->gp_kthread->state);
    + rcu_for_each_node_breadth_first(rsp, rnp) {
    + if (ULONG_CMP_GE(rsp->gp_seq, rnp->gp_seq_needed))
    + continue;
    + pr_info("\trcu_node %d:%d ->gp_seq %lu ->gp_seq_needed %lu\n",
    + rnp->grplo, rnp->grphi, rnp->gp_seq,
    + rnp->gp_seq_needed);
    + if (!rcu_is_leaf_node(rnp))
    + continue;
    + for_each_leaf_node_possible_cpu(rnp, cpu) {
    + rdp = per_cpu_ptr(rsp->rda, cpu);
    + if (rdp->gpwrap ||
    + ULONG_CMP_GE(rsp->gp_seq,
    + rdp->gp_seq_needed))
    + continue;
    + pr_info("\tcpu %d ->gp_seq_needed %lu\n",
    + cpu, rdp->gp_seq_needed);
    + }
    + }
    /* sched_show_task(rsp->gp_kthread); */
    }
    }
    --
    2.17.1
    \
     
     \ /
      Last update: 2018-06-26 02:39    [W:4.091 / U:0.288 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site