refscale: Move shutdown from wait_event() to wait_event_idle()
authorPaul E. McKenney <paulmck@kernel.org>
Wed, 1 Feb 2023 00:12:18 +0000 (16:12 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 May 2023 16:32:33 +0000 (17:32 +0100)
commit522c441faf82ab88636d66be8e25b8b7dfa2e001
tree5fd283ad3efb765cd4ce55e6ff061697fca025f9
parentb4319e457d6e3fb33e443efeaf4634fc36e8a9ed
refscale: Move shutdown from wait_event() to wait_event_idle()

[ Upstream commit 6bc6e6b27524304aadb9c04611ddb1c84dd7617a ]

The ref_scale_shutdown() kthread/function uses wait_event() to wait for
the refscale test to complete.  However, although the read-side tests
are normally extremely fast, there is no law against specifying a very
large value for the refscale.loops module parameter or against having
a slow read-side primitive.  Either way, this might well trigger the
hung-task timeout.

This commit therefore replaces those wait_event() calls with calls to
wait_event_idle(), which do not trigger the hung-task timeout.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/rcu/refscale.c