qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v4 11/15] vdpa net: block migration if the device has CVQ


From: Eugenio Perez Martin
Subject: Re: [PATCH v4 11/15] vdpa net: block migration if the device has CVQ
Date: Thu, 2 Mar 2023 16:13:29 +0100

On Mon, Feb 27, 2023 at 9:13 AM Jason Wang <jasowang@redhat.com> wrote:
>
>
> 在 2023/2/24 23:54, Eugenio Pérez 写道:
> > Devices with CVQ needs to migrate state beyond vq state.  Leaving this
> > to future series.
> >
> > Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
> > ---
> > v3: Migration blocker is registered in vhost_dev.
> > ---
> >   include/hw/virtio/vhost-vdpa.h | 1 +
> >   hw/virtio/vhost-vdpa.c         | 1 +
> >   net/vhost-vdpa.c               | 9 +++++++++
> >   3 files changed, 11 insertions(+)
> >
> > diff --git a/include/hw/virtio/vhost-vdpa.h b/include/hw/virtio/vhost-vdpa.h
> > index 4a7d396674..c278a2a8de 100644
> > --- a/include/hw/virtio/vhost-vdpa.h
> > +++ b/include/hw/virtio/vhost-vdpa.h
> > @@ -50,6 +50,7 @@ typedef struct vhost_vdpa {
> >       const VhostShadowVirtqueueOps *shadow_vq_ops;
> >       void *shadow_vq_ops_opaque;
> >       struct vhost_dev *dev;
> > +    Error *migration_blocker;
> >       VhostVDPAHostNotifier notifier[VIRTIO_QUEUE_MAX];
> >   } VhostVDPA;
> >
> > diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c
> > index 27655e7582..25b64ae854 100644
> > --- a/hw/virtio/vhost-vdpa.c
> > +++ b/hw/virtio/vhost-vdpa.c
> > @@ -438,6 +438,7 @@ static int vhost_vdpa_init(struct vhost_dev *dev, void 
> > *opaque, Error **errp)
> >       v->msg_type = VHOST_IOTLB_MSG_V2;
> >       vhost_vdpa_init_svq(dev, v);
> >
> > +    error_propagate(&dev->migration_blocker, v->migration_blocker);
> >       if (!vhost_vdpa_first_dev(dev)) {
> >           return 0;
> >       }
> > diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c
> > index c5512ddf10..4f983df000 100644
> > --- a/net/vhost-vdpa.c
> > +++ b/net/vhost-vdpa.c
> > @@ -828,6 +828,15 @@ 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;
> > +
> > +        /*
> > +         * TODO: We cannot migrate devices with CVQ as there is no way to 
> > set
> > +         * the device state (MAC, MQ, etc) before starting datapath.
> > +         *
> > +         * Migration blocker ownership now belongs to v
>
>
> The sentence is incomplete.
>

Right, I'll fix it for the next version.

Thanks!

> Other looks good.
>
> Thanks
>
>
> > +         */
> > +        error_setg(&s->vhost_vdpa.migration_blocker,
> > +                   "net vdpa cannot migrate with CVQ feature");
> >       }
> >       ret = vhost_vdpa_add(nc, (void *)&s->vhost_vdpa, queue_pair_index, 
> > nvqs);
> >       if (ret) {
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]