Hi Changes in v2: - rebased on top of migration-20230428 pull (second try) - several of the patches on the PULL request - make clean that we don't use rdma code when we don't use rdma - create migrate_rdma() to check if we are in rdma migration.
There is no hope for this code. I am trying to cleanup the rest of rdma calls, but the code is convoluted as hell. And it lies with the ram counters as crazy. Please review. In this series (v1): - QEMUFileHooks only had a single user, RDMA migration. Just remove the hooks and create stubs for when RDMA is not compiled in. - This implies that we have to move all the operations from migration/qemu-file.c to migration/rdma.c. - I now we can still simplify rdma_control_save_page(), but I don't have an easy setup for testing. - Yes, the goal of the whole operations is to be able to move ram_file_limit from qemu-file to migration.c. Please review. Thanks, Juan. Juan Quintela (16): migration: Create migrate_rdma() migration/rdma: Unfold ram_control_before_iterate() migration/rdma: Unfold ram_control_after_iterate() migration/rdma: simplify ram_control_load_hook() migration/rdma: Don't pass the QIOChannelRDMA as an opaque migration/rdma: We can calculate the rioc from the QEMUFile migration/rdma: It makes no sense to recive that flag without RDMA migration: Make RAM_SAVE_FLAG_HOOK a normal case entry migration/rdma: Remove all uses of RAM_CONTROL_HOOK migration/rdma: Unfold hook_ram_load() migration/rdma: Make ram_control_save_page() use exported interfaces migration/rdma: Create rdma_control_save_page() qemu-file: Remove QEMUFileHooks migration/rdma: Move rdma constants from qemu-file.h to rdma.h migration/rdma: Remove qemu_ prefix from exported functions migration/rdma: If we are in postcopy don't do anything migration/migration.h | 3 + migration/options.c | 7 ++ migration/options.h | 1 + migration/qemu-file.c | 77 +------------------- migration/qemu-file.h | 51 -------------- migration/ram.c | 60 +++++++++++----- migration/rdma.c | 155 ++++++++++++++++++++++------------------- migration/rdma.h | 36 ++++++++++ migration/trace-events | 28 ++++---- 9 files changed, 186 insertions(+), 232 deletions(-) -- 2.40.0