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> _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization