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

Attachment: pgpndlLQER8Y7.pgp
Description: OpenPGP digital signature

Reply via email to