Jason Wang
2023-Feb-23 02:41 UTC
[PATCH v2 09/13] vdpa net: block migration if the device has CVQ
? 2023/2/22 15:28, Eugenio Perez Martin ??:> On Wed, Feb 22, 2023 at 5:01 AM Jason Wang <jasowang at redhat.com> wrote: >> >> ? 2023/2/8 17:42, Eugenio P?rez ??: >>> Devices with CVQ needs to migrate state beyond vq state. Leaving this >>> to future series. >> >> I may miss something but what is missed to support CVQ/MQ? >> > To restore all the device state set by CVQ in the migration source > (MAC, MQ, ...) before data vqs start. We don't have a reliable way to > not start data vqs until the device [1]. > > Thanks! > > [1] https://lists.gnu.org/archive/html/qemu-devel/2023-01/msg02652.htmlRight. It might be mention this defect in either the change log or somewhere in the code as a comment. (Btw, I think we should fix those vDPA drivers). Thanks> >> Thanks >> >> >>> Signed-off-by: Eugenio P?rez <eperezma at redhat.com> >>> --- >>> net/vhost-vdpa.c | 6 ++++++ >>> 1 file changed, 6 insertions(+) >>> >>> diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c >>> index bca13f97fd..309861e56c 100644 >>> --- a/net/vhost-vdpa.c >>> +++ b/net/vhost-vdpa.c >>> @@ -955,11 +955,17 @@ int net_init_vhost_vdpa(const Netdev *netdev, const char *name, >>> } >>> >>> if (has_cvq) { >>> + VhostVDPAState *s; >>> + >>> nc = net_vhost_vdpa_init(peer, TYPE_VHOST_VDPA, name, >>> vdpa_device_fd, i, 1, false, >>> opts->x_svq, iova_range); >>> if (!nc) >>> goto err; >>> + >>> + s = DO_UPCAST(VhostVDPAState, nc, nc); >>> + error_setg(&s->vhost_vdpa.dev->migration_blocker, >>> + "net vdpa cannot migrate with MQ feature"); >>> } >>> >>> return 0;