Re: [PATCH v2 1/2] virtio-balloon: tweak config_changed implementation

From: Cornelia Huck
Date: Fri Jan 04 2019 - 06:03:00 EST


On Fri, 4 Jan 2019 15:11:52 +0800
Wei Wang <wei.w.wang@xxxxxxxxx> wrote:

> virtio-ccw has deadlock issues with reading the config space inside the
> interrupt context, so we tweak the virtballoon_changed implementation
> by moving the config read operations into the related workqueue contexts.
> The config_read_bitmap is used as a flag to the workqueue callbacks
> about the related config fields that need to be read.
>
> Reported-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
> Signed-off-by: Wei Wang <wei.w.wang@xxxxxxxxx>
> ---
> drivers/virtio/virtio_balloon.c | 81 +++++++++++++++++++++++++++--------------
> 1 file changed, 53 insertions(+), 28 deletions(-)
>

(...)

> @@ -77,6 +81,8 @@ struct virtio_balloon {
> /* Prevent updating balloon when it is being canceled. */
> spinlock_t stop_update_lock;
> bool stop_update;
> + /* Bitmap to indicate if reading the related config fields are needed */

s/are/is/

> + unsigned long config_read_bitmap;
>
> /* The list of allocated free pages, waiting to be given back to mm */
> struct list_head free_page_list;

(...)

Bitmap handling looks sane to me.

Reviewed-by: Cornelia Huck <cohuck@xxxxxxxxxx>