[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 04/14] vdpa: add vhost_vdpa_suspend
From: |
Alvaro Karsz |
Subject: |
Re: [PATCH v3 04/14] vdpa: add vhost_vdpa_suspend |
Date: |
Thu, 16 Feb 2023 15:47:57 +0200 |
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?
- [PATCH v3 00/14] Dynamically switch to vhost shadow virtqueues at vdpa net migration, Eugenio Pérez, 2023/02/15
- [PATCH v3 01/14] vdpa net: move iova tree creation from init to start, Eugenio Pérez, 2023/02/15
- [PATCH v3 02/14] vdpa: stop svq at vhost_vdpa_dev_start(false), Eugenio Pérez, 2023/02/15
- [PATCH v3 03/14] vdpa: Negotiate _F_SUSPEND feature, Eugenio Pérez, 2023/02/15
- [PATCH v3 04/14] vdpa: add vhost_vdpa_suspend, Eugenio Pérez, 2023/02/15
- Re: [PATCH v3 04/14] vdpa: add vhost_vdpa_suspend,
Alvaro Karsz <=
- [PATCH v3 05/14] vdpa: move vhost reset after get vring base, Eugenio Pérez, 2023/02/15
- [PATCH v3 06/14] vdpa: rewind at get_base, not set_base, Eugenio Pérez, 2023/02/15
- [PATCH v3 07/14] vdpa net: allow VHOST_F_LOG_ALL, Eugenio Pérez, 2023/02/15
- [PATCH v3 08/14] vdpa: add vdpa net migration state notifier, Eugenio Pérez, 2023/02/15
- [PATCH v3 10/14] vdpa net: block migration if the device has CVQ, Eugenio Pérez, 2023/02/15
- [PATCH v3 11/14] vdpa: block migration if device has unsupported features, Eugenio Pérez, 2023/02/15
- [PATCH v3 12/14] vdpa: block migration if dev does not have _F_SUSPEND, Eugenio Pérez, 2023/02/15
- [PATCH v3 13/14] vdpa: block migration if SVQ does not admit a feature, Eugenio Pérez, 2023/02/15
- [PATCH v3 14/14] vdpa: return VHOST_F_LOG_ALL in vhost-vdpa devices, Eugenio Pérez, 2023/02/15