We need to perform changes to vhost_vdpa devices before the memory listener inform them about the migration. Otherwise, it will reach them with no SVQ enabled and it cannot be guaranteed that it will be enabled afterwards.
Expose the vhost memory listener priority so we can assign a lower one to net/vhost-vdpa one. Signed-off-by: Eugenio Pérez <epere...@redhat.com> --- include/hw/virtio/vhost.h | 2 ++ hw/virtio/vhost.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/include/hw/virtio/vhost.h b/include/hw/virtio/vhost.h index a346f23d13..ccd6cc5549 100644 --- a/include/hw/virtio/vhost.h +++ b/include/hw/virtio/vhost.h @@ -104,6 +104,8 @@ struct vhost_dev { const VhostDevConfigOps *config_ops; }; +#define VHOST_DEV_MEMORY_LISTENER_PRIORITY 10 + extern const VhostOps kernel_ops; extern const VhostOps user_ops; extern const VhostOps vdpa_ops; diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index 0827d631c0..a1e822b871 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -1411,7 +1411,7 @@ int vhost_dev_init(struct vhost_dev *hdev, void *opaque, .log_global_stop = vhost_log_global_stop, .eventfd_add = vhost_eventfd_add, .eventfd_del = vhost_eventfd_del, - .priority = 10 + .priority = VHOST_DEV_MEMORY_LISTENER_PRIORITY }; hdev->iommu_listener = (MemoryListener) { -- 2.31.1