Message ID | 20220804182852.703398-13-eperezma@redhat.com |
---|---|
State | New |
Headers | show |
Series | NIC vhost-vdpa state restore via Shadow CVQ | expand |
On Fri, Aug 5, 2022 at 2:29 AM Eugenio Pérez <eperezma@redhat.com> wrote: > > We can restore the device state in the destination via CVQ now. Remove > the migration blocker. > > Signed-off-by: Eugenio Pérez <eperezma@redhat.com> Acked-by: Jason Wang <jasowang@redhat.com> > --- > include/hw/virtio/vhost-vdpa.h | 1 - > hw/virtio/vhost-vdpa.c | 14 -------------- > net/vhost-vdpa.c | 2 -- > 3 files changed, 17 deletions(-) > > diff --git a/include/hw/virtio/vhost-vdpa.h b/include/hw/virtio/vhost-vdpa.h > index d10a89303e..1111d85643 100644 > --- a/include/hw/virtio/vhost-vdpa.h > +++ b/include/hw/virtio/vhost-vdpa.h > @@ -35,7 +35,6 @@ typedef struct vhost_vdpa { > bool shadow_vqs_enabled; > /* IOVA mapping used by the Shadow Virtqueue */ > VhostIOVATree *iova_tree; > - Error *migration_blocker; > GPtrArray *shadow_vqs; > const VhostShadowVirtqueueOps *shadow_vq_ops; > void *shadow_vq_ops_opaque; > diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c > index 7e28d2f674..4b0cfc0f56 100644 > --- a/hw/virtio/vhost-vdpa.c > +++ b/hw/virtio/vhost-vdpa.c > @@ -1033,13 +1033,6 @@ static bool vhost_vdpa_svqs_start(struct vhost_dev *dev) > return true; > } > > - if (v->migration_blocker) { > - int r = migrate_add_blocker(v->migration_blocker, &err); > - if (unlikely(r < 0)) { > - return false; > - } > - } > - > for (i = 0; i < v->shadow_vqs->len; ++i) { > VirtQueue *vq = virtio_get_queue(dev->vdev, dev->vq_index + i); > VhostShadowVirtqueue *svq = g_ptr_array_index(v->shadow_vqs, i); > @@ -1082,10 +1075,6 @@ err: > vhost_svq_stop(svq); > } > > - if (v->migration_blocker) { > - migrate_del_blocker(v->migration_blocker); > - } > - > return false; > } > > @@ -1105,9 +1094,6 @@ static bool vhost_vdpa_svqs_stop(struct vhost_dev *dev) > } > } > > - if (v->migration_blocker) { > - migrate_del_blocker(v->migration_blocker); > - } > return true; > } > > diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c > index 4f1524c2e9..7c0d600aea 100644 > --- a/net/vhost-vdpa.c > +++ b/net/vhost-vdpa.c > @@ -558,8 +558,6 @@ static NetClientState *net_vhost_vdpa_init(NetClientState *peer, > > s->vhost_vdpa.shadow_vq_ops = &vhost_vdpa_net_svq_ops; > s->vhost_vdpa.shadow_vq_ops_opaque = s; > - error_setg(&s->vhost_vdpa.migration_blocker, > - "Migration disabled: vhost-vdpa uses CVQ."); > } > ret = vhost_vdpa_add(nc, (void *)&s->vhost_vdpa, queue_pair_index, nvqs); > if (ret) { > -- > 2.31.1 >
diff --git a/include/hw/virtio/vhost-vdpa.h b/include/hw/virtio/vhost-vdpa.h index d10a89303e..1111d85643 100644 --- a/include/hw/virtio/vhost-vdpa.h +++ b/include/hw/virtio/vhost-vdpa.h @@ -35,7 +35,6 @@ typedef struct vhost_vdpa { bool shadow_vqs_enabled; /* IOVA mapping used by the Shadow Virtqueue */ VhostIOVATree *iova_tree; - Error *migration_blocker; GPtrArray *shadow_vqs; const VhostShadowVirtqueueOps *shadow_vq_ops; void *shadow_vq_ops_opaque; diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c index 7e28d2f674..4b0cfc0f56 100644 --- a/hw/virtio/vhost-vdpa.c +++ b/hw/virtio/vhost-vdpa.c @@ -1033,13 +1033,6 @@ static bool vhost_vdpa_svqs_start(struct vhost_dev *dev) return true; } - if (v->migration_blocker) { - int r = migrate_add_blocker(v->migration_blocker, &err); - if (unlikely(r < 0)) { - return false; - } - } - for (i = 0; i < v->shadow_vqs->len; ++i) { VirtQueue *vq = virtio_get_queue(dev->vdev, dev->vq_index + i); VhostShadowVirtqueue *svq = g_ptr_array_index(v->shadow_vqs, i); @@ -1082,10 +1075,6 @@ err: vhost_svq_stop(svq); } - if (v->migration_blocker) { - migrate_del_blocker(v->migration_blocker); - } - return false; } @@ -1105,9 +1094,6 @@ static bool vhost_vdpa_svqs_stop(struct vhost_dev *dev) } } - if (v->migration_blocker) { - migrate_del_blocker(v->migration_blocker); - } return true; } diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c index 4f1524c2e9..7c0d600aea 100644 --- a/net/vhost-vdpa.c +++ b/net/vhost-vdpa.c @@ -558,8 +558,6 @@ static NetClientState *net_vhost_vdpa_init(NetClientState *peer, s->vhost_vdpa.shadow_vq_ops = &vhost_vdpa_net_svq_ops; s->vhost_vdpa.shadow_vq_ops_opaque = s; - error_setg(&s->vhost_vdpa.migration_blocker, - "Migration disabled: vhost-vdpa uses CVQ."); } ret = vhost_vdpa_add(nc, (void *)&s->vhost_vdpa, queue_pair_index, nvqs); if (ret) {
We can restore the device state in the destination via CVQ now. Remove the migration blocker. Signed-off-by: Eugenio Pérez <eperezma@redhat.com> --- include/hw/virtio/vhost-vdpa.h | 1 - hw/virtio/vhost-vdpa.c | 14 -------------- net/vhost-vdpa.c | 2 -- 3 files changed, 17 deletions(-)