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