[RFC 0/8] Dinamycally switch to vhost shadow virtqueues at vdpa net migration

Eugenio Pérez posted 8 patches 1 year, 8 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
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(-)
[RFC 0/8] Dinamycally switch to vhost shadow virtqueues at vdpa net migration
Posted by Eugenio Pérez 1 year, 8 months ago
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