vDPA: dont change vq irq after DRIVER_OK
authorZhu Lingshan <lingshan.zhu@intel.com>
Tue, 4 Aug 2020 10:21:23 +0000 (18:21 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 5 Aug 2020 15:08:42 +0000 (11:08 -0400)
IRQ of a vq is not expected to be changed in a DRIVER_OK ~ !DRIVER_OK
period for irq offloading purposes. Place this comment at the side of
bus ops get_vq_irq than in set_status in vhost_vdpa.

Signed-off-by: Zhu Lingshan <lingshan.zhu@intel.com>
Link: https://lore.kernel.org/r/20200804102123.69978-1-lingshan.zhu@intel.com
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/vhost/vdpa.c
include/linux/vdpa.h

index 7441b98..f8f8c9c 100644 (file)
@@ -172,7 +172,6 @@ static long vhost_vdpa_set_status(struct vhost_vdpa *v, u8 __user *statusp)
 
        ops->set_status(vdpa, status);
 
-       /* vq irq is not expected to be changed once DRIVER_OK is set */
        if ((status & VIRTIO_CONFIG_S_DRIVER_OK) && !(status_old & VIRTIO_CONFIG_S_DRIVER_OK))
                for (i = 0; i < nvqs; i++)
                        vhost_vdpa_setup_vq_irq(v, i);
index 5c530a6..565298c 100644 (file)
@@ -186,6 +186,7 @@ struct vdpa_config_ops {
        u64 (*get_vq_state)(struct vdpa_device *vdev, u16 idx);
        struct vdpa_notification_area
        (*get_vq_notification)(struct vdpa_device *vdev, u16 idx);
+       /* vq irq is not expected to be changed once DRIVER_OK is set */
        int (*get_vq_irq)(struct vdpa_device *vdv, u16 idx);
 
        /* Device ops */