On Tue, 17 Feb 2026 11:14:03 -0300 Fabiano Rosas <[email protected]> wrote:
> 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) > > > Is that with ASAN? I never hit exit status 1 and looking at the code I don't think it can actually exit with status 1 when exiting with SIGTERM. Anyway, I fixed the bugs I found during my stress test in the new series. Regards, Lukas Straub
pgpndlLQER8Y7.pgp
Description: OpenPGP digital signature
