Hello everyone, This has some cleanups for and adds multifd support and migration unit tests for COLO migration.
Regards, Lukas Signed-off-by: Lukas Straub <[email protected]> --- Changes in v6: - Fix the crash when running COLO with TCG accel. - Link to v5: https://lore.kernel.org/qemu-devel/[email protected] Changes in v5: - Remove unused inmports from multifd-colo.c - Mention the checkpoint overhead of reset to the Q35 fix - Link to v4: https://lore.kernel.org/qemu-devel/[email protected] Changes in v4: - Add cleanup patches to remove migration_incoming_colo_enabled() and MIG_CMD_ENABLE_COLO - Add more comments to the colo unit test - Call colo_release_ram_cache() after multifd threads terminate - Link to v3: https://lore.kernel.org/qemu-devel/[email protected] Changes in v3: - Fix peter's review comments. - Fix COLO with Q35 machine - Link to v2: https://lore.kernel.org/qemu-devel/[email protected] Changes in v2: - Fix review comments - Hide stderr in colo migration test since the logged errors are expected - Add benchmarking data for multifd - Add myself as maintainer for COLO migration framework - Link to v1: https://lore.kernel.org/qemu-devel/[email protected] --- Lukas Straub (18): MAINTAINERS: Add myself as maintainer for COLO migration framework MAINTAINERS: Remove Hailiang Zhang from COLO migration framework colo: Setup ram cache in normal migration path colo: Replace migration_incoming_colo_enabled() with migrate_colo() colo: Remove ENABLE_COLO loadvm command functions colo: Don't send ENABLE_COLO command ram: Remove colo special-casing Move ram state receive into multifd_ram_state_recv() multifd: Add COLO support Call colo_release_ram_cache() after multifd threads terminate colo: Fix crash during device vmstate load colo: Hold the BQL while sending ram state colo: Do not hold the BQL while receiving ram state. migration-test: Add COLO migration unit test Convert colo main documentation to restructuredText qemu-colo.rst: Miscellaneous changes qemu-colo.rst: Add my copyright qemu-colo.rst: Simplify the block replication setup MAINTAINERS | 6 +- docs/COLO-FT.txt | 334 ---------------------------------- docs/system/index.rst | 1 + docs/system/qemu-colo.rst | 362 +++++++++++++++++++++++++++++++++++++ include/migration/colo.h | 3 - migration/colo.c | 21 ++- migration/meson.build | 2 +- migration/migration.c | 61 ++----- migration/multifd-colo.c | 44 +++++ migration/multifd-colo.h | 26 +++ migration/multifd-nocomp.c | 10 +- migration/multifd.c | 19 +- migration/multifd.h | 5 +- migration/ram.c | 12 +- migration/savevm.c | 30 +-- migration/savevm.h | 1 - migration/trace-events | 1 - tests/qtest/meson.build | 7 +- tests/qtest/migration-test.c | 1 + tests/qtest/migration/colo-tests.c | 198 ++++++++++++++++++++ tests/qtest/migration/framework.h | 5 + 21 files changed, 716 insertions(+), 433 deletions(-) --- base-commit: b377abc220fc53e9cab2aac3c73fc20be6d85eea change-id: 20251230-colo_unit_test_multifd-8bf58dcebd46 Best regards, -- Lukas Straub <[email protected]>
