It's possible to migrate vdpa net devices if they are shadowed from the
start. But to always shadow the dataplane is effectively break its host
passthrough, so its not convenient in vDPA scenarios.
This series enables dynamically switching to shadow mode only at migration
time. This allow full data virtqueues passthrough all the time qemu is not
migrating.
To do so it uses the VHOST_VDPA_SUSPEND ioctl, not merged in Linux at this time
[1]. Because of that, first patch is not signed and present a header
[NOTMERGE]. This series is also based on ASID one [2], not merged in qemu at the
moment.
Comments are welcome.
[1] https://lkml.org/lkml/2022/8/10/732
[2] https://lists.nongnu.org/archive/html/qemu-devel/2022-08/msg01047.html
Eugenio Pérez (8):
[NOTMERGE] Update linux headers
vdpa: Extract get_backend_features from vhost_vdpa_get_as_num
vhost: expose memory listener priority
vdpa: Add log_enabled to VhostVDPAState
vdpa: Add vdpa memory listener
vdpa: Negotiate _F_SUSPEND feature
vdpa: Add feature_log member to vhost_vdpa
vdpa: Conditionally expose _F_LOG in vhost_net devices
include/hw/virtio/vhost-vdpa.h | 1 +
include/hw/virtio/vhost.h | 2 +
include/standard-headers/linux/vhost_types.h | 3 +
linux-headers/linux/vhost.h | 3 +
hw/virtio/vhost-vdpa.c | 5 +-
hw/virtio/vhost.c | 2 +-
net/vhost-vdpa.c | 128 +++++++++++++++++--
7 files changed, 132 insertions(+), 12 deletions(-)
--
2.31.1