[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 0/7] NIC vhost-vdpa state restore via Shadow CVQ
From: |
Eugenio Pérez |
Subject: |
[PATCH v4 0/7] NIC vhost-vdpa state restore via Shadow CVQ |
Date: |
Fri, 22 Jul 2022 13:12:38 +0200 |
CVQ of net vhost-vdpa devices can be intercepted since the work of [1]. The
virtio-net device model is updated. The migration was blocked because although
the state can be megrated between VMM it was not possible to restore on the
destination NIC.
This series add support for SVQ to inject external messages without the guest's
knowledge, so before the guest is resumed all the guest visible state is
restored. It is done using standard CVQ messages, so the vhost-vdpa device does
not need to learn how to restore it: As long as they have the feature, they
know how to handle it.
This series needs fixes [1] and [2] to be applied to achieve full live
migration.
Thanks!
[1] https://lists.nongnu.org/archive/html/qemu-devel/2022-07/msg02984.html
[2] https://lists.nongnu.org/archive/html/qemu-devel/2022-07/msg03993.html
v4:
- Actually use NetClientInfo callback.
v3:
- Route vhost-vdpa start code through NetClientInfo callback.
- Delete extra vhost_net_stop_one() call.
v2:
- Fix SIGSEGV dereferencing SVQ when not in svq mode
v1 from RFC:
- Do not reorder DRIVER_OK & enable patches.
- Delete leftovers
Eugenio Pérez (7):
vhost: stop transfer elem ownership in vhost_handle_guest_kick
vdpa: Extract vhost_vdpa_net_cvq_add from
vhost_vdpa_net_handle_ctrl_avail
vdpa: Make vhost_vdpa_net_cvq_map_elem accept any out sg
vdpa: add NetClientState->start() callback
vdpa: Reorder net_vhost_vdpa_info
vdpa: Add virtio-net mac address via CVQ at start
vdpa: Delete CVQ migration blocker
include/hw/virtio/vhost-vdpa.h | 1 -
include/net/net.h | 2 +
hw/net/vhost_net.c | 7 ++
hw/virtio/vhost-shadow-virtqueue.c | 10 +-
hw/virtio/vhost-vdpa.c | 14 ---
net/vhost-vdpa.c | 186 +++++++++++++++++++++--------
6 files changed, 146 insertions(+), 74 deletions(-)
--
2.31.1
- [PATCH v4 0/7] NIC vhost-vdpa state restore via Shadow CVQ,
Eugenio Pérez <=
- [PATCH v4 1/7] vhost: stop transfer elem ownership in vhost_handle_guest_kick, Eugenio Pérez, 2022/07/22
- [PATCH v4 2/7] vdpa: Extract vhost_vdpa_net_cvq_add from vhost_vdpa_net_handle_ctrl_avail, Eugenio Pérez, 2022/07/22
- [PATCH v4 3/7] vdpa: Make vhost_vdpa_net_cvq_map_elem accept any out sg, Eugenio Pérez, 2022/07/22
- [PATCH v4 4/7] vdpa: add NetClientState->start() callback, Eugenio Pérez, 2022/07/22
- [PATCH v4 6/7] vdpa: Add virtio-net mac address via CVQ at start, Eugenio Pérez, 2022/07/22
- [PATCH v4 5/7] vdpa: Reorder net_vhost_vdpa_info, Eugenio Pérez, 2022/07/22