[PULL 00/42] vfio queue

Cédric Le Goater posted 42 patches 3 weeks, 4 days ago
There is a newer version of this series
MAINTAINERS                        |   9 +-
docs/about/deprecated.rst          |  25 ++
docs/devel/migration/vfio.rst      |  45 ++-
hw/vfio/migration-multifd.h        |  34 ++
hw/vfio/pci.h                      |   1 -
include/block/aio.h                |   8 +-
include/block/thread-pool.h        |  62 +++-
include/hw/pci/pci.h               |   3 +
include/hw/pci/pci_device.h        |   3 +
include/hw/pci/pcie.h              |   2 -
include/hw/vfio/vfio-common.h      |  31 ++
include/migration/client-options.h |   4 +
include/migration/misc.h           |  25 ++
include/migration/register.h       |  52 ++-
include/qapi/error.h               |   2 +
include/qemu/typedefs.h            |   5 +
migration/migration.h              |   7 +
migration/multifd.h                |  74 +++-
migration/qemu-file.h              |   2 +
migration/savevm.h                 |   6 +-
hw/core/machine.c                  |   2 +
hw/net/e1000e.c                    |   3 +-
hw/net/eepro100.c                  |   4 +-
hw/net/igb.c                       |   3 +-
hw/nvme/ctrl.c                     |   3 +-
hw/pci-bridge/pcie_pci_bridge.c    |   3 +-
hw/pci/pci.c                       |  93 ++++-
hw/vfio/amd-xgbe.c                 |   2 +
hw/vfio/ap.c                       |   9 +
hw/vfio/calxeda-xgmac.c            |   2 +
hw/vfio/ccw.c                      |  27 +-
hw/vfio/migration-multifd.c        | 679 +++++++++++++++++++++++++++++++++++++
hw/vfio/migration.c                | 106 ++++--
hw/vfio/pci.c                      | 180 +++++++++-
hw/vfio/platform.c                 |  25 ++
hw/virtio/virtio-pci.c             |  11 +-
migration/colo.c                   |   3 +
migration/migration-hmp-cmds.c     |   2 +
migration/migration.c              |  17 +-
migration/multifd-device-state.c   | 212 ++++++++++++
migration/multifd-nocomp.c         |  30 +-
migration/multifd.c                | 248 +++++++++++---
migration/options.c                |   9 +
migration/savevm.c                 | 201 ++++++++++-
tests/unit/test-thread-pool.c      |   6 +-
util/async.c                       |   6 +-
util/thread-pool.c                 | 184 ++++++++--
hw/pci/trace-events                |   2 +
hw/vfio/meson.build                |   1 +
hw/vfio/trace-events               |  13 +-
migration/meson.build              |   1 +
migration/trace-events             |   1 +
scripts/analyze-migration.py       |  11 +
util/trace-events                  |   6 +-
54 files changed, 2296 insertions(+), 209 deletions(-)
create mode 100644 hw/vfio/migration-multifd.h
create mode 100644 hw/vfio/migration-multifd.c
create mode 100644 migration/multifd-device-state.c
[PULL 00/42] vfio queue
Posted by Cédric Le Goater 3 weeks, 4 days ago
The following changes since commit e8a01102936286e012ed0f00bd7f3b7474d415c9:

  Merge tag 'ui-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging (2025-03-05 21:58:23 +0800)

are available in the Git repository at:

  https://github.com/legoater/qemu/ tags/pull-vfio-20250306

for you to fetch changes up to 59a67e70950bcc2002d3a8d22a17743e0f70da96:

  hw/core/machine: Add compat for x-migration-multifd-transfer VFIO property (2025-03-06 06:47:34 +0100)

----------------------------------------------------------------
vfio queue:

* Added property documentation
* Added Minor fixes
* Implemented basic PCI PM capability backing
* Promoted new IGD maintainer
* Deprecated vfio-plaform
* Extended VFIO migration with multifd support

----------------------------------------------------------------
Alex Williamson (5):
      hw/pci: Basic support for PCI power management
      pci: Use PCI PM capability initializer
      vfio/pci: Delete local pm_cap
      pcie, virtio: Remove redundant pm_cap
      hw/vfio/pci: Re-order pre-reset

Cédric Le Goater (2):
      vfio: Add property documentation
      vfio/ccw: Replace warn_once_pfch() with warn_report_once()

Eric Auger (1):
      vfio-platform: Deprecate all forms of vfio-platform devices

Maciej S. Szmigiero (32):
      migration: Clarify that {load, save}_cleanup handlers can run without setup
      thread-pool: Remove thread_pool_submit() function
      thread-pool: Rename AIO pool functions to *_aio() and data types to *Aio
      thread-pool: Implement generic (non-AIO) pool support
      migration: Add MIG_CMD_SWITCHOVER_START and its load handler
      migration: Add qemu_loadvm_load_state_buffer() and its handler
      migration: Always take BQL for migration_incoming_state_destroy()
      error: define g_autoptr() cleanup function for the Error type
      migration: Add thread pool of optional load threads
      migration/multifd: Split packet into header and RAM data
      migration/multifd: Device state transfer support - receive side
      migration/multifd: Make multifd_send() thread safe
      migration/multifd: Add an explicit MultiFDSendData destructor
      migration/multifd: Device state transfer support - send side
      migration/multifd: Add multifd_device_state_supported()
      migration: Add save_live_complete_precopy_thread handler
      vfio/migration: Add load_device_config_state_start trace event
      vfio/migration: Convert bytes_transferred counter to atomic
      vfio/migration: Add vfio_add_bytes_transferred()
      vfio/migration: Move migration channel flags to vfio-common.h header file
      vfio/migration: Multifd device state transfer support - basic types
      vfio/migration: Multifd device state transfer - add support checking function
      vfio/migration: Multifd setup/cleanup functions and associated VFIOMultifd
      vfio/migration: Setup and cleanup multifd transfer in these general methods
      vfio/migration: Multifd device state transfer support - received buffers queuing
      vfio/migration: Multifd device state transfer support - load thread
      migration/qemu-file: Define g_autoptr() cleanup function for QEMUFile
      vfio/migration: Multifd device state transfer support - config loading support
      vfio/migration: Multifd device state transfer support - send side
      vfio/migration: Add x-migration-multifd-transfer VFIO property
      vfio/migration: Make x-migration-multifd-transfer VFIO property mutable
      hw/core/machine: Add compat for x-migration-multifd-transfer VFIO property

Peter Xu (1):
      migration/multifd: Make MultiFDSendData a struct

Tomita Moeko (1):
      MAINTAINERS: Add myself as vfio-igd maintainer

 MAINTAINERS                        |   9 +-
 docs/about/deprecated.rst          |  25 ++
 docs/devel/migration/vfio.rst      |  45 ++-
 hw/vfio/migration-multifd.h        |  34 ++
 hw/vfio/pci.h                      |   1 -
 include/block/aio.h                |   8 +-
 include/block/thread-pool.h        |  62 +++-
 include/hw/pci/pci.h               |   3 +
 include/hw/pci/pci_device.h        |   3 +
 include/hw/pci/pcie.h              |   2 -
 include/hw/vfio/vfio-common.h      |  31 ++
 include/migration/client-options.h |   4 +
 include/migration/misc.h           |  25 ++
 include/migration/register.h       |  52 ++-
 include/qapi/error.h               |   2 +
 include/qemu/typedefs.h            |   5 +
 migration/migration.h              |   7 +
 migration/multifd.h                |  74 +++-
 migration/qemu-file.h              |   2 +
 migration/savevm.h                 |   6 +-
 hw/core/machine.c                  |   2 +
 hw/net/e1000e.c                    |   3 +-
 hw/net/eepro100.c                  |   4 +-
 hw/net/igb.c                       |   3 +-
 hw/nvme/ctrl.c                     |   3 +-
 hw/pci-bridge/pcie_pci_bridge.c    |   3 +-
 hw/pci/pci.c                       |  93 ++++-
 hw/vfio/amd-xgbe.c                 |   2 +
 hw/vfio/ap.c                       |   9 +
 hw/vfio/calxeda-xgmac.c            |   2 +
 hw/vfio/ccw.c                      |  27 +-
 hw/vfio/migration-multifd.c        | 679 +++++++++++++++++++++++++++++++++++++
 hw/vfio/migration.c                | 106 ++++--
 hw/vfio/pci.c                      | 180 +++++++++-
 hw/vfio/platform.c                 |  25 ++
 hw/virtio/virtio-pci.c             |  11 +-
 migration/colo.c                   |   3 +
 migration/migration-hmp-cmds.c     |   2 +
 migration/migration.c              |  17 +-
 migration/multifd-device-state.c   | 212 ++++++++++++
 migration/multifd-nocomp.c         |  30 +-
 migration/multifd.c                | 248 +++++++++++---
 migration/options.c                |   9 +
 migration/savevm.c                 | 201 ++++++++++-
 tests/unit/test-thread-pool.c      |   6 +-
 util/async.c                       |   6 +-
 util/thread-pool.c                 | 184 ++++++++--
 hw/pci/trace-events                |   2 +
 hw/vfio/meson.build                |   1 +
 hw/vfio/trace-events               |  13 +-
 migration/meson.build              |   1 +
 migration/trace-events             |   1 +
 scripts/analyze-migration.py       |  11 +
 util/trace-events                  |   6 +-
 54 files changed, 2296 insertions(+), 209 deletions(-)
 create mode 100644 hw/vfio/migration-multifd.h
 create mode 100644 hw/vfio/migration-multifd.c
 create mode 100644 migration/multifd-device-state.c


Re: [PULL 00/42] vfio queue
Posted by Stefan Hajnoczi 3 weeks, 4 days ago
Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/10.0 for any user-visible changes.