Virtuozzo QEMU development (svt-core@virtuozzo.com)
 help / color / mirror / Atom feed
* [PATCH QEMU HCI-8.1 v6 00/34] vfio: support qemu-update with passed through GPU's and vGPU's #VSTOR-103860
@ 2026-11-02 10:36 Andrey Drobyshev
  2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 01/34] VZ: migration/cpr-exec: fix Error leak in preserve_ram() Andrey Drobyshev
                   ` (33 more replies)
  0 siblings, 34 replies; 71+ messages in thread
From: Andrey Drobyshev @ 2026-11-02 10:36 UTC (permalink / raw)
  To: svt-core; +Cc: Andrey Drobyshev

v5 -> v6:

mdev vGPUs are no longer supported, only SR-IOV vGPUs and whole GPUs
(#VSTOR-150598 and #VSTOR-150595 closed).

- Patch 34 ("VZ: vfio/container: lift the CPR blocker for mdev devices")
  dropped: it only let cpr-exec through for mdev devices

- Patch 35 ("VZ: migration: keep the estimate and wait over starved
  windows") dropped: it only mattered for a device without pre-copy;
  with pre-copy the sender isn't starved before the switchover

- Patch 36 -> 34 ("VZ: vfio/migration: don't wait for stop-copy-only
  device state"): reduced to hw/vfio/migration.c: the stop-copy size is
  reported as pending only while the device still has something to
  pre-copy, so once it has drained the rest decides the switchover on
  its own; the savevm and migration.c changes are gone.  Tagged
  #VSTOR-141821 instead of the closed #VSTOR-150595

Fixes of the issues found by Sashiko AI review.

- Patch 27 ("vfio/listener: skip dirty page tracking during CPR")
  replaced by "migration/ram: don't start dirty logging in CPR modes":
  no RAM is migrated in a CPR mode, so the dirty log isn't started at
  all, instead of VFIO alone skipping it; that also closed the gap
  where VFIO tracking stayed off with the log left on by another user

- Patch 34 ("VZ: vfio/migration: don't wait for stop-copy-only device
  state"): a failed pre-copy size query no longer passes for a drained
  device

v5: http://lore.virtuozzo.com/20261023-vfio_v1-v5-0-ba0bf3c6d122@virtuozzo.com
---
Akihiko Odaki (1):
      vfio/pci: Grow buffer in vfio_pci_host_match()

Andrey Drobyshev (20):
      VZ: migration/cpr-exec: fix Error leak in preserve_ram()
      migration/cpr-exec: restore RAM write access if exec fails
      vfio/region: create BAR dma-bufs with O_CLOEXEC
      migration/cpr-exec: require a file or exec migration URI
      migration: close the CPR state if the outgoing channel fails to open
      migration/cpr-exec: close the persisted state if the channel fails to open
      migration: don't refuse a blocker over a migration of another mode
      kvm: tolerate ioctls after kvm_close()
      kvm: fix coalesced MMIO flush racing with kvm_close()
      migration/cpr: add cpr_is_in_progress()
      vfio/migration: don't migrate device state during CPR
      vfio/migration: don't assume the device is running on CPR incoming
      migration/ram: don't start dirty logging in CPR modes
      VZ: vfio/cpr: don't close KVM on cpr-exec
      VZ: migration/cpr-exec: abort cpr-exec if memory can't be preserved
      VZ: migration/cpr-exec: take the vhost-net devices back if exec fails
      VZ: migration/cpr-exec: don't exec if a vhost-net device can't be released
      VZ: vfio/region: preserve BAR mappings across cpr-exec #VSTOR-103860
      VZ: migration/cpr-exec: allow cpr-exec with VFIO devices #VSTOR-103860
      VZ: vfio/migration: don't wait for stop-copy-only device state #VSTOR-141821

Arun Menon (1):
      migration: Fix regression of passing error_fatal into vmstate_load_state()

Cédric Le Goater (2):
      vfio/pci: Reject invalid MSI-X Table and PBA BIR values
      vfio/pci: Fix information leak in vfio_rom_read()

Fabiano Rosas (3):
      migration: yank: Move register instance earlier
      migration: Free cpr-transfer MigrationAddress along with gsource
      migration: Move CPR HUP watch to cpr-transfer.c

Igor Mammedov (1):
      q35: Fix migration of SMRAM state

Mario Casquero (1):
      vfio/pci: Initialize rom_read_failed in vfio_pci_load_rom()

Markus Armbruster (1):
      migration: Plug memory leaks after migrate_set_error()

Peter Xu (1):
      migration: Fix crash on second migration when cancel early

Tycho Andersen (AMD) (1):
      hw/vfio: Fix liveness check in vfio_connect_kvm_msi_virq()

Vladimir Sementsov-Ogievskiy (1):
      migration: vmstate_save_state_v: fix double error_setg

Yanfei Xu (1):
      migration: ensure APIC is loaded prior to VFIO PCI devices

 accel/kvm/kvm-all.c           |  24 +++++++-
 docs/devel/migration/CPR.rst  |   8 +--
 hw/display/virtio-gpu.c       |  22 +++++---
 hw/intc/apic_common.c         |   1 +
 hw/net/vhost_net.c            |  62 ++++++++++++++++++++-
 hw/pci-host/q35.c             |  25 ++++-----
 hw/pci/pci.c                  |  15 ++++-
 hw/s390x/virtio-ccw.c         |  17 +++++-
 hw/scsi/spapr_vscsi.c         |  10 +++-
 hw/vfio/cpr.c                 |  11 ++--
 hw/vfio/device.c              |  29 +++++++---
 hw/vfio/migration-multifd.c   |   2 +
 hw/vfio/migration.c           |  64 +++++++++++++++++++--
 hw/vfio/pci.c                 |  25 ++++++---
 hw/vfio/region.c              |  51 ++++++++++++++++-
 hw/virtio/virtio-mmio.c       |  15 ++++-
 hw/virtio/virtio-pci.c        |  15 ++++-
 hw/virtio/virtio.c            |  10 +++-
 include/hw/vfio/vfio-cpr.h    |   1 +
 include/hw/vfio/vfio-device.h |   2 -
 include/hw/virtio/vhost.h     |   2 +
 include/migration/cpr.h       |   7 +++
 include/migration/vmstate.h   |   1 +
 include/net/vhost_net.h       |   3 +-
 migration/cpr-exec.c          |  44 +++++++++++++--
 migration/cpr-transfer.c      |  33 +++++++++++
 migration/cpr.c               |  22 ++++++++
 migration/migration.c         | 126 ++++++++++++++++++++++++------------------
 migration/migration.h         |   5 ++
 migration/multifd.c           |   2 +
 migration/ram.c               |   7 ++-
 migration/vmstate.c           |   7 ++-
 tests/qtest/q35-test.c        |   6 --
 33 files changed, 534 insertions(+), 140 deletions(-)
---
base-commit: 02f55118bcb0533ce4c6544458c30803d96bea4a
change-id: 20261009-vfio_v1-a176cddd6b64

Best regards,
--  
Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>


^ permalink raw reply	[flat|nested] 71+ messages in thread
* [PATCH QEMU HCI-8.1 v6 00/34] vfio: support qemu-update with passed through GPU's and vGPU's #VSTOR-103860
@ 2026-10-30 14:45 Andrey Drobyshev
  2026-10-30 14:45 ` [PATCH QEMU HCI-8.1 v6 04/34] migration/cpr-exec: require a file or exec migration URI Andrey Drobyshev
  0 siblings, 1 reply; 71+ messages in thread
From: Andrey Drobyshev @ 2026-10-30 14:45 UTC (permalink / raw)
  To: svt-core; +Cc: andrey.drobyshev

v5 -> v6:

mdev vGPUs are no longer supported, only SR-IOV vGPUs and whole GPUs
(#VSTOR-150598 and #VSTOR-150595 closed).

- Patch 34 ("VZ: vfio/container: lift the CPR blocker for mdev devices")
  dropped: it only let cpr-exec through for mdev devices

- Patch 35 ("VZ: migration: keep the estimate and wait over starved
  windows") dropped: it only mattered for a device without pre-copy;
  with pre-copy the sender isn't starved before the switchover

- Patch 36 -> 34 ("VZ: vfio/migration: don't wait for stop-copy-only
  device state"): reduced to hw/vfio/migration.c: the stop-copy size is
  reported as pending only while the device still has something to
  pre-copy, so once it has drained the rest decides the switchover on
  its own; the savevm and migration.c changes are gone.  Tagged
  #VSTOR-141821 instead of the closed #VSTOR-150595

Fixes of the issues found by Sashiko AI review.

- Patch 27 ("vfio/listener: skip dirty page tracking during CPR")
  replaced by "migration/ram: don't start dirty logging in CPR modes":
  no RAM is migrated in a CPR mode, so the dirty log isn't started at
  all, instead of VFIO alone skipping it; that also closed the gap
  where VFIO tracking stayed off with the log left on by another user

- Patch 34 ("VZ: vfio/migration: don't wait for stop-copy-only device
  state"): a failed pre-copy size query no longer passes for a drained
  device

v5: http://lore.virtuozzo.com/20261023-vfio_v1-v5-0-ba0bf3c6d122@virtuozzo.com
---
Akihiko Odaki (1):
      vfio/pci: Grow buffer in vfio_pci_host_match()

Andrey Drobyshev (20):
      VZ: migration/cpr-exec: fix Error leak in preserve_ram()
      migration/cpr-exec: restore RAM write access if exec fails
      vfio/region: create BAR dma-bufs with O_CLOEXEC
      migration/cpr-exec: require a file or exec migration URI
      migration: close the CPR state if the outgoing channel fails to open
      migration/cpr-exec: close the persisted state if the channel fails to open
      migration: don't refuse a blocker over a migration of another mode
      kvm: tolerate ioctls after kvm_close()
      kvm: fix coalesced MMIO flush racing with kvm_close()
      migration/cpr: add cpr_is_in_progress()
      vfio/migration: don't migrate device state during CPR
      vfio/migration: don't assume the device is running on CPR incoming
      migration/ram: don't start dirty logging in CPR modes
      VZ: vfio/cpr: don't close KVM on cpr-exec
      VZ: migration/cpr-exec: abort cpr-exec if memory can't be preserved
      VZ: migration/cpr-exec: take the vhost-net devices back if exec fails
      VZ: migration/cpr-exec: don't exec if a vhost-net device can't be released
      VZ: vfio/region: preserve BAR mappings across cpr-exec #VSTOR-103860
      VZ: migration/cpr-exec: allow cpr-exec with VFIO devices #VSTOR-103860
      VZ: vfio/migration: don't wait for stop-copy-only device state #VSTOR-141821

Arun Menon (1):
      migration: Fix regression of passing error_fatal into vmstate_load_state()

Cédric Le Goater (2):
      vfio/pci: Reject invalid MSI-X Table and PBA BIR values
      vfio/pci: Fix information leak in vfio_rom_read()

Fabiano Rosas (3):
      migration: yank: Move register instance earlier
      migration: Free cpr-transfer MigrationAddress along with gsource
      migration: Move CPR HUP watch to cpr-transfer.c

Igor Mammedov (1):
      q35: Fix migration of SMRAM state

Mario Casquero (1):
      vfio/pci: Initialize rom_read_failed in vfio_pci_load_rom()

Markus Armbruster (1):
      migration: Plug memory leaks after migrate_set_error()

Peter Xu (1):
      migration: Fix crash on second migration when cancel early

Tycho Andersen (AMD) (1):
      hw/vfio: Fix liveness check in vfio_connect_kvm_msi_virq()

Vladimir Sementsov-Ogievskiy (1):
      migration: vmstate_save_state_v: fix double error_setg

Yanfei Xu (1):
      migration: ensure APIC is loaded prior to VFIO PCI devices

 accel/kvm/kvm-all.c           |  24 +++++++-
 docs/devel/migration/CPR.rst  |   8 +--
 hw/display/virtio-gpu.c       |  22 +++++---
 hw/intc/apic_common.c         |   1 +
 hw/net/vhost_net.c            |  62 ++++++++++++++++++++-
 hw/pci-host/q35.c             |  25 ++++-----
 hw/pci/pci.c                  |  15 ++++-
 hw/s390x/virtio-ccw.c         |  17 +++++-
 hw/scsi/spapr_vscsi.c         |  10 +++-
 hw/vfio/cpr.c                 |  11 ++--
 hw/vfio/device.c              |  29 +++++++---
 hw/vfio/migration-multifd.c   |   2 +
 hw/vfio/migration.c           |  64 +++++++++++++++++++--
 hw/vfio/pci.c                 |  25 ++++++---
 hw/vfio/region.c              |  51 ++++++++++++++++-
 hw/virtio/virtio-mmio.c       |  15 ++++-
 hw/virtio/virtio-pci.c        |  15 ++++-
 hw/virtio/virtio.c            |  10 +++-
 include/hw/vfio/vfio-cpr.h    |   1 +
 include/hw/vfio/vfio-device.h |   2 -
 include/hw/virtio/vhost.h     |   2 +
 include/migration/cpr.h       |   7 +++
 include/migration/vmstate.h   |   1 +
 include/net/vhost_net.h       |   3 +-
 migration/cpr-exec.c          |  44 +++++++++++++--
 migration/cpr-transfer.c      |  33 +++++++++++
 migration/cpr.c               |  22 ++++++++
 migration/migration.c         | 126 ++++++++++++++++++++++++------------------
 migration/migration.h         |   5 ++
 migration/multifd.c           |   2 +
 migration/ram.c               |   7 ++-
 migration/vmstate.c           |   7 ++-
 tests/qtest/q35-test.c        |   6 --
 33 files changed, 534 insertions(+), 140 deletions(-)
---
base-commit: 02f55118bcb0533ce4c6544458c30803d96bea4a
change-id: 20261009-vfio_v1-a176cddd6b64

Best regards,
--  
Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>


^ permalink raw reply	[flat|nested] 71+ messages in thread

end of thread, other threads:[~2026-11-02 11:16 UTC | newest]

Thread overview: 71+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-02 10:36 [PATCH QEMU HCI-8.1 v6 00/34] vfio: support qemu-update with passed through GPU's and vGPU's #VSTOR-103860 Andrey Drobyshev
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 01/34] VZ: migration/cpr-exec: fix Error leak in preserve_ram() Andrey Drobyshev
2026-11-02 10:39   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 02/34] migration/cpr-exec: restore RAM write access if exec fails Andrey Drobyshev
2026-11-02 10:40   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 03/34] vfio/region: create BAR dma-bufs with O_CLOEXEC Andrey Drobyshev
2026-11-02 10:40   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 04/34] migration/cpr-exec: require a file or exec migration URI Andrey Drobyshev
2026-11-02 10:42   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 05/34] migration: close the CPR state if the outgoing channel fails to open Andrey Drobyshev
2026-11-02 10:42   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 06/34] migration/cpr-exec: close the persisted state if the " Andrey Drobyshev
2026-11-02 10:44   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 07/34] migration: don't refuse a blocker over a migration of another mode Andrey Drobyshev
2026-11-02 10:44   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 08/34] migration: Plug memory leaks after migrate_set_error() Andrey Drobyshev
2026-11-02 10:44   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 09/34] hw/vfio: Fix liveness check in vfio_connect_kvm_msi_virq() Andrey Drobyshev
2026-11-02 10:45   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 10/34] vfio/pci: Reject invalid MSI-X Table and PBA BIR values Andrey Drobyshev
2026-11-02 10:45   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 11/34] vfio/pci: Fix information leak in vfio_rom_read() Andrey Drobyshev
2026-11-02 10:45   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 12/34] vfio/pci: Initialize rom_read_failed in vfio_pci_load_rom() Andrey Drobyshev
2026-11-02 10:46   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 13/34] vfio/pci: Grow buffer in vfio_pci_host_match() Andrey Drobyshev
2026-11-02 10:46   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 14/34] q35: Fix migration of SMRAM state Andrey Drobyshev
2026-11-02 10:48   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 15/34] migration: ensure APIC is loaded prior to VFIO PCI devices Andrey Drobyshev
2026-11-02 10:47   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 16/34] migration: Fix regression of passing error_fatal into vmstate_load_state() Andrey Drobyshev
2026-11-02 10:51   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 17/34] migration: vmstate_save_state_v: fix double error_setg Andrey Drobyshev
2026-11-02 10:51   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 18/34] migration: yank: Move register instance earlier Andrey Drobyshev
2026-11-02 10:55   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 19/34] migration: Free cpr-transfer MigrationAddress along with gsource Andrey Drobyshev
2026-11-02 10:53   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 20/34] migration: Move CPR HUP watch to cpr-transfer.c Andrey Drobyshev
2026-11-02 10:54   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 21/34] migration: Fix crash on second migration when cancel early Andrey Drobyshev
2026-11-02 10:57   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 22/34] kvm: tolerate ioctls after kvm_close() Andrey Drobyshev
2026-11-02 11:01   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 23/34] kvm: fix coalesced MMIO flush racing with kvm_close() Andrey Drobyshev
2026-11-02 11:00   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 24/34] migration/cpr: add cpr_is_in_progress() Andrey Drobyshev
2026-11-02 11:01   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 25/34] vfio/migration: don't migrate device state during CPR Andrey Drobyshev
2026-11-02 11:07   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 26/34] vfio/migration: don't assume the device is running on CPR incoming Andrey Drobyshev
2026-11-02 11:06   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 27/34] migration/ram: don't start dirty logging in CPR modes Andrey Drobyshev
2026-11-02 11:07   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 28/34] VZ: vfio/cpr: don't close KVM on cpr-exec Andrey Drobyshev
2026-11-02 11:09   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 29/34] VZ: migration/cpr-exec: abort cpr-exec if memory can't be preserved Andrey Drobyshev
2026-11-02 11:09   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 30/34] VZ: migration/cpr-exec: take the vhost-net devices back if exec fails Andrey Drobyshev
2026-11-02 11:11   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 31/34] VZ: migration/cpr-exec: don't exec if a vhost-net device can't be released Andrey Drobyshev
2026-11-02 11:10   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 32/34] VZ: vfio/region: preserve BAR mappings across cpr-exec #VSTOR-103860 Andrey Drobyshev
2026-11-02 11:16   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 33/34] VZ: migration/cpr-exec: allow cpr-exec with VFIO devices #VSTOR-103860 Andrey Drobyshev
2026-11-02 11:12   ` no-reply
2026-11-02 10:36 ` [PATCH QEMU HCI-8.1 v6 34/34] VZ: vfio/migration: don't wait for stop-copy-only device state #VSTOR-141821 Andrey Drobyshev
2026-11-02 11:15   ` no-reply
  -- strict thread matches above, loose matches on Subject: below --
2026-10-30 14:45 [PATCH QEMU HCI-8.1 v6 00/34] vfio: support qemu-update with passed through GPU's and vGPU's #VSTOR-103860 Andrey Drobyshev
2026-10-30 14:45 ` [PATCH QEMU HCI-8.1 v6 04/34] migration/cpr-exec: require a file or exec migration URI Andrey Drobyshev
2026-10-30 14:50   ` no-reply

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox