mbox

[PULL,00/42] Migration patches for 2025-01-29

Message ID 20250129160059.6987-1-farosas@suse.de (mailing list archive)
State New
Headers show

Pull-request

https://gitlab.com/farosas/qemu.git tags/migration-20250129-pull-request

Message

Fabiano Rosas Jan. 29, 2025, 4 p.m. UTC
The following changes since commit 7faf9d2f12ace4c1d04cf1a2b39334eef9a45f22:

  Merge tag 'pull-aspeed-20250127' of https://github.com/legoater/qemu into staging (2025-01-27 11:20:35 -0500)

are available in the Git repository at:

  https://gitlab.com/farosas/qemu.git tags/migration-20250129-pull-request

for you to fetch changes up to bc38dc2f5f350310724fd7d4f0a09f8c3a4811fa:

  migration: refactor ram_save_target_page functions (2025-01-29 11:56:42 -0300)

----------------------------------------------------------------
Migration pull request

- Purge of ram_save_target_page_legacy
- Cleanups to postcopy, json writer, migration states
- New migration mode cpr-transfer
- Fix for a -Werror=maybe-uninitialized instance in savevm

----------------------------------------------------------------

Marc-André Lureau (1):
  migration: fix -Werror=maybe-uninitialized

Peter Xu (16):
  migration: Remove postcopy implications in should_send_vmdesc()
  migration: Do not construct JSON description if suppressed
  migration: Optimize postcopy on downtime by avoiding JSON writer
  migration: Avoid two src-downtime-end tracepoints for postcopy
  migration: Drop inactivate_disk param in qemu_savevm_state_complete*
  migration: Synchronize all CPU states only for non-iterable dump
  migration: Adjust postcopy bandwidth during switchover
  migration: Adjust locking in migration_maybe_pause()
  migration: Drop cached migration state in migration_maybe_pause()
  migration: Take BQL slightly longer in postcopy_start()
  migration: Notify COMPLETE once for postcopy
  migration: Unwrap qemu_savevm_state_complete_precopy() in postcopy
  migration: Cleanup qemu_savevm_state_complete_precopy()
  migration: Always set DEVICE state
  migration: Merge precopy/postcopy on switchover start
  migration: Trivial cleanup on JSON writer of vmstate_save()

Prasad J Pandit (1):
  migration: refactor ram_save_target_page functions

Steve Sistare (24):
  backends/hostmem-shm: factor out allocation of "anonymous shared
    memory with an fd"
  physmem: fix qemu_ram_alloc_from_fd size calculation
  physmem: qemu_ram_alloc_from_fd extensions
  physmem: fd-based shared memory
  memory: add RAM_PRIVATE
  machine: aux-ram-share option
  migration: cpr-state
  physmem: preserve ram blocks for cpr
  hostmem-memfd: preserve for cpr
  hostmem-shm: preserve for cpr
  migration: enhance migrate_uri_parse
  migration: incoming channel
  migration: SCM_RIGHTS for QEMUFile
  migration: VMSTATE_FD
  migration: cpr-transfer save and load
  migration: cpr-transfer mode
  migration-test: memory_backend
  tests/qtest: optimize migrate_set_ports
  tests/qtest: defer connection
  migration-test: defer connection
  tests/qtest: enhance migration channels
  tests/qtest: assert qmp connected
  migration-test: cpr-transfer
  migration: cpr-transfer documentation

 backends/hostmem-epc.c                 |   2 +-
 backends/hostmem-file.c                |   2 +-
 backends/hostmem-memfd.c               |  14 +-
 backends/hostmem-ram.c                 |   2 +-
 backends/hostmem-shm.c                 |  51 +---
 docs/devel/migration/CPR.rst           | 184 ++++++++++++-
 hw/core/machine.c                      |  22 ++
 include/exec/memory.h                  |  10 +
 include/exec/ram_addr.h                |  13 +-
 include/hw/boards.h                    |   1 +
 include/migration/cpr.h                |  33 +++
 include/migration/misc.h               |   7 +
 include/migration/vmstate.h            |   9 +
 include/qemu/osdep.h                   |   1 +
 meson.build                            |   8 +-
 migration/cpr-transfer.c               |  71 +++++
 migration/cpr.c                        | 224 ++++++++++++++++
 migration/meson.build                  |   2 +
 migration/migration.c                  | 348 +++++++++++++++++++------
 migration/migration.h                  |   5 +-
 migration/options.c                    |   8 +-
 migration/qemu-file.c                  |  84 +++++-
 migration/qemu-file.h                  |   2 +
 migration/ram.c                        |  69 ++---
 migration/savevm.c                     | 116 ++++-----
 migration/savevm.h                     |   6 +-
 migration/trace-events                 |  13 +-
 migration/vmstate-types.c              |  24 ++
 migration/vmstate.c                    |   6 +-
 qapi/migration.json                    |  51 +++-
 qemu-options.hx                        |  34 +++
 stubs/vmstate.c                        |   7 +
 system/memory.c                        |   4 +-
 system/physmem.c                       | 150 +++++++++--
 system/trace-events                    |   1 +
 system/vl.c                            |  43 ++-
 tests/qemu-iotests/194.out             |   1 +
 tests/qemu-iotests/203.out             |   1 +
 tests/qemu-iotests/234.out             |   2 +
 tests/qemu-iotests/262.out             |   1 +
 tests/qemu-iotests/280.out             |   1 +
 tests/qtest/libqos/libqos.c            |   3 +-
 tests/qtest/libqtest.c                 | 103 +++++---
 tests/qtest/libqtest.h                 |  24 +-
 tests/qtest/migration/cpr-tests.c      |  62 +++++
 tests/qtest/migration/framework.c      |  80 +++++-
 tests/qtest/migration/framework.h      |  11 +
 tests/qtest/migration/migration-qmp.c  |  53 +++-
 tests/qtest/migration/migration-qmp.h  |  10 +-
 tests/qtest/migration/migration-util.c |  23 +-
 tests/qtest/migration/misc-tests.c     |   9 +-
 tests/qtest/migration/precopy-tests.c  |   6 +-
 tests/qtest/virtio-net-failover.c      |   8 +-
 util/memfd.c                           |  16 +-
 util/oslib-posix.c                     |  52 ++++
 util/oslib-win32.c                     |   6 +
 56 files changed, 1713 insertions(+), 386 deletions(-)
 create mode 100644 include/migration/cpr.h
 create mode 100644 migration/cpr-transfer.c
 create mode 100644 migration/cpr.c