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 -- 2.35.3