qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v3 04/14] vdpa: add vhost_vdpa_suspend


From: Eugenio Perez Martin
Subject: Re: [PATCH v3 04/14] vdpa: add vhost_vdpa_suspend
Date: Thu, 16 Feb 2023 15:35:19 +0100

On Thu, Feb 16, 2023 at 2:48 PM Alvaro Karsz <alvaro.karsz@solid-run.com> wrote:
>
> Hi,
>
> > The function vhost.c:vhost_dev_stop fetches the vring base so the vq
> > state can be migrated to other devices.  However, this is unreliable in
> > vdpa, since we didn't signal the device to suspend the queues, making
> > the value fetched useless.
> >
> > Suspend the device if possible before fetching first and subsequent
> > vring bases.
> >
> > Moreover, vdpa totally reset and wipes the device at the last device
> > before fetch its vrings base, making that operation useless in the last
> > device. This will be fixed in later patches of this series.
> >
> > Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
> > ---
> >  hw/virtio/vhost-vdpa.c | 19 +++++++++++++++++++
> >  hw/virtio/trace-events |  1 +
> >  2 files changed, 20 insertions(+)
> >
> > diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c
> > index 1d0209d6ad..796f38d64e 100644
> > --- a/hw/virtio/vhost-vdpa.c
> > +++ b/hw/virtio/vhost-vdpa.c
> > @@ -1109,6 +1109,24 @@ static void vhost_vdpa_svqs_stop(struct vhost_dev 
> > *dev)
> >      }
> >  }
> >
> > +static void vhost_vdpa_suspend(struct vhost_dev *dev)
> > +{
> > +    struct vhost_vdpa *v = dev->opaque;
> > +    int r;
> > +
> > +    if (!vhost_vdpa_first_dev(dev) ||
> > +        !(dev->backend_features & BIT_ULL(VHOST_BACKEND_F_SUSPEND))) {
>
> Shouldn't it be backend_cap?
>

Good catch, I reversed it by mistake.

I'll send a v4 once I fix this and other problems found. Thanks!




reply via email to

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