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

Cornelia Huck
Fri, 04 Jan 2019 11:02:51 -0000

On Fri,  4 Jan 2019 15:11:52 +0800
Wei Wang <wei.w.wang at intel.com> 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 at de.ibm.com>
> Signed-off-by: Wei Wang <wei.w.wang at intel.com>
> ---
>  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 at redhat.com>