mbox series

[0/3] vfio/migration: Make VFIO migration non-experimental

Message ID 20230626082353.18535-1-avihaih@nvidia.com (mailing list archive)
Headers show
Series vfio/migration: Make VFIO migration non-experimental | expand

Message

Avihai Horon June 26, 2023, 8:23 a.m. UTC
Hello,

The major parts of VFIO migration are supported today in QEMU. This
includes basic VFIO migration, device dirty page tracking and precopy
support. Thus, at this point in time, it seems appropriate to make VFIO
migration non-experimental.

This short series (which is based on the precopy series [1]) does that
and also adds a few improvements:
- Patch #1 moves the transition from STOP_COPY to STOP state to
  vfio_save_cleanup(). Testing with a ConnectX-7 VFIO device showed
  that this can reduce downtime by 6% with loaded devices.
- Patch #2 resets bytes_transferred counter properly.
- Patch #3 cleans up the VFIO migration realize flow and makes VFIO
  migration non-experimental.

Note that Zhenzhong's series [2] fixes additional bugs and further
cleans the VFIO migration realize flow.

Thanks.

[1]
https://lore.kernel.org/qemu-devel/20230621111201.29729-1-avihaih@nvidia.com/

[2]
https://lore.kernel.org/qemu-devel/20230621080204.420723-1-zhenzhong.duan@intel.com/

Avihai Horon (3):
  vfio/migration: Move from STOP_COPY to STOP in vfio_save_cleanup()
  vfio/migration: Reset bytes_transferred properly
  vfio/migration: Make VFIO migration non-experimental

 include/hw/vfio/vfio-common.h |  3 +-
 migration/migration.h         |  1 +
 hw/vfio/migration.c           | 54 ++++++++++++++++++++++-------------
 hw/vfio/pci.c                 |  4 +--
 migration/migration.c         |  1 +
 migration/savevm.c            |  1 +
 migration/target.c            | 17 +++++++++--
 7 files changed, 56 insertions(+), 25 deletions(-)