rcu-tasks: Report stalls during synchronize_srcu() in rcu_tasks_postscan()
authorNeeraj Upadhyay <quic_neeraju@quicinc.com>
Wed, 11 Jan 2023 07:45:00 +0000 (13:15 +0530)
committerJoel Fernandes (Google) <joel@joelfernandes.org>
Wed, 5 Apr 2023 13:47:44 +0000 (13:47 +0000)
commita4533cc0a59f0956e1b78e6013b75014b4857fce
tree83b60ad1c8688477ab344627824310de6dd8baac
parent7ea91307ad2dbdd15ed0b762a2d994f816039b9d
rcu-tasks: Report stalls during synchronize_srcu() in rcu_tasks_postscan()

The call to synchronize_srcu() from rcu_tasks_postscan() can be stalled
by a task getting stuck in do_exit() between that function's calls to
exit_tasks_rcu_start() and exit_tasks_rcu_finish().   To ease diagnosis
of this situation, print a stall warning message every rcu_task_stall_info
period when rcu_tasks_postscan() is stalled.

[ paulmck: Adjust to handle CONFIG_SMP=n. ]

Acked-by: Frederic Weisbecker <frederic@kernel.org>
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Reported-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/rcu/20230111212736.GA1062057@paulmck-ThinkPad-P17-Gen-1/
Signed-off-by: Neeraj Upadhyay <quic_neeraju@quicinc.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
kernel/rcu/tasks.h