Re: [PATCH] drm/virtio: add timeout to virtqueue wait to avoid hung task
From: Dmitry Osipenko
Date: Tue May 19 2026 - 02:15:40 EST
On 5/18/26 09:45, Ryosuke Yasuoka wrote:
>> It may be acceptable to have wait_event_timeout() in a loop, printing
>> warnings about unresponsive host.
> I considered this approach, but it does not solve the recovery problem
> described above. The guest would still be stuck in the loop with no way
> to remove the device or shut down gracefully.
Could `system_state != SYSTEM_RUNNING` be checked in the wait loop? This
may allow to handle system shutdown, aborting the timed out wait in the
special case.
Userspace may also get stuck in a zombie state. For that, code should
use wait_event_interruptible(). But driver has code unprepared to be
interrupted, it all needs to be reworked first [1].
Similarly, for unbind there could a driver flag that the wait loop will
check and handle specially.
WDYT?
[1]
https://lore.kernel.org/dri-devel/20260515084030.21986-1-kartikey406@xxxxxxxxx/
--
Best regards,
Dmitry