Hi VFIO migration has several requirements: - the size of the state is only known when the guest is stopped - they need to send possible lots of data.
this series only address the 1st set of problems. What they do: - res_compatible parameter was not used anywhere, just add that information to res_postcopy. - Remove QEMUFILE parameter from save_live_pending - Split save_live_pending into * save_pending_estimate(): the pending state size without trying too hard * save_pending_exact(): the real pending state size, it is called with the guest stopped. - Now save_pending_* don't need the threshold parameter - HACK a way to stop the guest before moving there. ToDo: - autoconverge test is broken, no real clue why, but it is possible that the test is wrong. - Make an artifact to be able to send massive amount of data in the save state stage (probably more multifd channels). - Be able to not having to start the guest between cheking the state pending size and migration_completion(). Please review. Thanks, Juan. Juan Quintela (7): migration: Remove res_compatible parameter migration: No save_live_pending() method uses the QEMUFile parameter migration: Block migration comment or code is wrong migration: Split save_live_pending() into state_pending_* migration: Remove unused threshold_size parameter migration: simplify migration_iteration_run() migration: call qemu_savevm_state_pending_exact() with the guest stopped docs/devel/migration.rst | 18 ++++++------ docs/devel/vfio-migration.rst | 4 +-- include/migration/register.h | 29 ++++++++++--------- migration/savevm.h | 8 +++--- hw/s390x/s390-stattrib.c | 11 ++++--- hw/vfio/migration.c | 17 +++++------ migration/block-dirty-bitmap.c | 14 ++++----- migration/block.c | 17 ++++++----- migration/migration.c | 52 ++++++++++++++++++++++------------ migration/ram.c | 35 ++++++++++++++++------- migration/savevm.c | 37 +++++++++++++++++------- tests/qtest/migration-test.c | 3 +- hw/vfio/trace-events | 2 +- migration/trace-events | 7 +++-- 14 files changed, 148 insertions(+), 106 deletions(-) -- 2.37.2