Neeraj Upadhyay
65b629e704
rcu-tasks: Inspect stalled task's trc state in locked state
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: Neeraj Upadhyay <quic_neeraju@quicinc.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2021-12-09 10:13:55 -08:00
..
2021-11-11 09:49:36 -08:00
2021-11-06 14:08:17 -07:00
2021-05-07 00:26:34 -07:00
2021-11-03 17:21:37 +00:00
2021-11-09 10:56:41 -08:00
2021-11-10 16:15:54 -08:00
2021-11-11 13:09:34 +01:00
2021-10-19 17:27:05 +02:00
2021-06-22 11:07:18 -07:00
2021-11-11 09:50:30 +01:00
2021-09-13 16:41:20 -07:00
2021-11-01 20:05:19 -07:00
2021-11-09 10:11:53 -08:00
2021-11-02 16:04:28 -07:00
2021-11-06 14:08:17 -07:00
2021-12-09 10:13:55 -08:00
2021-11-11 13:09:33 +01:00
2021-11-02 12:52:17 +01:00
2021-11-13 10:11:51 -08:00
2021-05-02 00:43:35 +09:00
2021-10-18 06:17:01 -06:00
2021-05-07 00:26:33 -07:00
2021-10-27 12:32:34 +02:00
2021-11-01 21:17:39 -07:00
2021-11-06 16:43:20 -07:00
2021-03-22 15:23:32 -04:00
2021-11-01 21:17:39 -07:00
2021-09-19 22:34:38 -04:00
2021-11-01 21:17:39 -07:00
2021-01-24 14:27:16 +01:00
2021-08-11 13:11:12 -07:00
2021-09-08 15:32:35 -07:00
2021-08-16 18:55:32 +02:00
2021-08-10 18:31:32 +02:00
2021-07-08 11:48:22 -07:00
2021-10-20 10:45:34 -05:00
2021-05-12 11:43:25 +02:00
2021-11-03 12:15:29 -07:00
2021-11-09 10:02:51 -08:00
2020-12-15 22:46:19 -08:00
2021-11-14 10:43:38 -08:00
2021-06-18 11:43:08 +02:00
2021-05-27 04:01:50 +09:00
2021-02-26 09:41:03 -08:00
2021-07-02 12:08:10 -07:00
2021-10-15 11:25:18 +02:00
2021-07-05 10:46:20 +02:00
2021-10-04 10:58:25 -07:00
2020-12-15 19:36:48 -08:00
2021-08-17 17:50:51 +02:00
2021-11-11 13:09:33 +01:00
2021-11-09 10:02:52 -08:00
2021-08-30 16:36:10 +02:00
2021-11-06 13:30:42 -07:00
2021-02-22 12:33:26 +00:00
2021-09-08 15:32:34 -07:00
2021-05-07 00:26:33 -07:00
2021-11-01 20:05:19 -07:00
2021-11-10 16:15:54 -08:00
2021-11-01 20:05:19 -07:00
2021-01-19 10:24:45 +01:00
2021-01-19 10:24:45 +01:00
2021-11-05 15:13:10 -07:00
2021-08-16 18:55:32 +02:00
2021-09-03 09:58:12 -07:00
2021-08-27 16:30:18 +08:00
2021-08-30 16:36:10 +02:00
2021-08-16 14:42:22 +02:00
2021-09-03 09:58:12 -07:00
2021-10-14 13:29:18 +02:00
2021-09-08 11:50:26 -07:00
2021-06-18 11:43:09 +02:00
2020-10-16 11:11:19 -07:00
2021-11-12 11:53:16 -08:00
2020-12-15 22:46:18 -08:00
2020-11-25 18:52:35 +01:00
2021-11-09 10:02:52 -08:00
2021-09-22 10:24:01 -04:00
2021-09-16 10:27:48 -07:00
2021-09-30 09:37:27 +01:00
2021-09-01 14:52:05 -07:00
2021-11-10 16:15:54 -08:00
2021-10-22 15:32:46 +02:00
2021-08-10 14:57:42 +02:00
2021-08-10 22:50:07 +02:00
2020-09-19 13:13:39 -07:00
2021-11-06 13:30:43 -07:00
2021-07-05 10:46:33 +02:00
2021-03-23 16:01:58 +01:00
2021-10-07 13:51:11 +02:00
2021-09-08 12:55:35 -07:00
2021-06-23 16:41:24 -06:00
2021-09-03 10:08:28 -07:00
2021-04-30 11:20:42 -07:00
2020-11-16 08:08:54 -08:00
2021-08-10 10:48:07 -07:00
2021-08-16 11:39:51 -04:00
2021-11-06 13:30:35 -07:00
2021-10-20 10:45:34 -05:00
2021-05-07 00:26:34 -07:00
2021-05-09 13:07:03 -07:00
2021-09-03 09:58:12 -07:00
2021-09-08 11:50:27 -07:00
2021-07-03 11:41:14 -07:00
2021-01-26 11:16:34 +00:00
2021-06-29 10:53:46 -07:00
2021-08-17 07:49:10 -10:00
2021-11-06 14:08:17 -07:00