[PATCH v2 00/16] migration: Remove QEMUFileHooks

Juan Quintela posted 16 patches 12 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230503131847.11603-1-quintela@redhat.com
Maintainers: Juan Quintela <quintela@redhat.com>, Peter Xu <peterx@redhat.com>, Leonardo Bras <leobras@redhat.com>
There is a newer version of this series
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(-)
[PATCH v2 00/16] migration: Remove QEMUFileHooks
Posted by Juan Quintela 12 months ago
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