• Neeraj Upadhyay's avatar
    rcu-tasks: Inspect stalled task's trc state in locked state · 65b629e7
    Neeraj Upadhyay authored
    
    
    On RCU tasks trace stall, inspect the RCU-tasks-trace specific
    states of stalled task in locked down state, using try_invoke_
    on_locked_down_task(), to get reliable trc state of a non-running
    stalled task.
    
    This was tested using the following command:
    
    tools/testing/selftests/rcutorture/bin/kvm.sh --cpus 8 --configs TRACE01 \
    --bootargs "rcutorture.torture_type=tasks-tracing rcutorture.stall_cpu=10 \
    rcutorture.stall_cpu_block=1 rcupdate.rcu_task_stall_timeout=100" --trust-make
    
    As expected, this produced the following console output for running and
    sleeping tasks.
    
    [   21.520291] INFO: rcu_tasks_trace detected stalls on tasks:
    [   21.521292] P85: ... nesting: 1N cpu: 2
    [   21.521966] task:rcu_torture_sta state:D stack:15080 pid:   85 ppid:     2
    flags:0x00004000
    [   21.523384] Call Trace:
    [   21.523808]  __schedule+0x273/0x6e0
    [   21.524428]  schedule+0x35/0xa0
    [   21.524971]  schedule_timeout+0x1ed/0x270
    [   21.525690]  ? del_timer_sync+0x30/0x30
    [   21.526371]  ? rcu_torture_writer+0x720/0x720
    [   21.527106]  rcu_torture_stall+0x24a/0x270
    [   21.527816]  kthread+0x115/0x140
    [   21.528401]  ? set_kthread_struct+0x40/0x40
    [   21.529136]  ret_from_fork+0x22/0x30
    [   21.529766]  1 holdouts
    [   21.632300] INFO: rcu_tasks_trace detected stalls on tasks:
    [   21.632345] rcu_torture_stall end.
    [   21.633293] P85: .
    [   21.633294] task:rcu_torture_sta state:R  running task stack:15080 pid:
    85 ppid:     2 flags:0x00004000
    [   21.633299] Call Trace:
    [   21.633301]  ? vprintk_emit+0xab/0x180
    [   21.633306]  ? vprintk_emit+0x11a/0x180
    [   21.633308]  ? _printk+0x4d/0x69
    [   21.633311]  ? __default_send_IPI_shortcut+0x1f/0x40
    
    [ paulmck: Update to new v5.16 task_call_func() name. ]
    Signed-off-by: default avatarNeeraj Upadhyay <quic_neeraju@quicinc.com>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
    65b629e7
tasks.h 50.6 KB