virtio_balloon: stay awake while adjusting balloon
authorDavid Stevens <stevensd@chromium.org>
Wed, 10 Jan 2024 02:19:25 +0000 (11:19 +0900)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 10 Jan 2024 18:01:06 +0000 (13:01 -0500)
commitb12fbc3f787e3d7e47af274a761fdee6e867bc7d
tree9c868fb790a4318aa19a5fea58a21a4f78cd6d91
parentc271fcd9095f066e0e7104e6d8919e2cf26f0899
virtio_balloon: stay awake while adjusting balloon

A virtio_balloon's parent device may be configured so that a
configuration change interrupt is a wakeup event. Extend the processing
of such a wakeup event until the balloon finishes inflating or deflating
by calling pm_stay_awake/pm_relax in the virtio_balloon driver. Note
that these calls are no-ops if the parent device doesn't support wakeup
events or if the wakeup events are not enabled.

This change allows the guest to use system power states such as s2idle
without running the risk the virtio_balloon's cooperative memory
management becoming unresponsive to the host's requests.

Tested-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: David Stevens <stevensd@chromium.org>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Message-Id: <20240110021925.1137333-1-stevensd@google.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/virtio/virtio_balloon.c