Fabiano Rosas <[email protected]> writes: > Lukas Straub <[email protected]> writes: > >> 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 v8: >> - Fix peter's review comments >> - Link to v7: >> https://lore.kernel.org/qemu-devel/[email protected] >> >> Changes in v7: >> - Fix peter's review comments >> - Link to v6: >> https://lore.kernel.org/qemu-devel/[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 (17): >> 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 savevm command and mark it as deprecated >> ram: Remove colo special-casing >> multifd: 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 | 37 +--- >> 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, 720 insertions(+), 436 deletions(-) >> --- >> base-commit: 0b91040d23dc8820724a60c811223b777f3bc6b7 >> change-id: 20251230-colo_unit_test_multifd-8bf58dcebd46 >> >> Best regards, > > Queued, thanks
Actually, I'm gonna drop it for now. Tests are failing non-deterministically, seems like a cleanup race due to yank. QTEST_QEMU_BINARY=./qemu-system-x86_64 ./tests/qtest/migration-test --full -p /x86_64/migration/colo/multifd/primary_failover_checkpoint ... ../tests/qtest/libqtest.c:201: kill_qemu() tried to terminate QEMU process but encountered exit status 1 (expected 0)
