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 <lukasstraub2@web.de>
---
Changes in v6:
- Fix the crash when running COLO with TCG accel.
- Link to v5: https://lore.kernel.org/qemu-devel/20260203-colo_unit_test_multifd-v5-0-57508b7389f6@web.de
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/20260130-colo_unit_test_multifd-v4-0-7115ab6f0e77@web.de
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/20260125-colo_unit_test_multifd-v3-0-ae926ccd8eae@web.de
Changes in v3:
- Fix peter's review comments.
- Fix COLO with Q35 machine
- Link to v2: https://lore.kernel.org/qemu-devel/20260117-colo_unit_test_multifd-v2-0-ab521777fa51@web.de
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/20251230-colo_unit_test_multifd-v1-0-f9734bc74c71@web.de
---
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 <lukasstraub2@web.de>