qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/16] migration: Remove QEMUFileHooks
@ 2023-05-03 13:18 Juan Quintela
  2023-05-03 13:18 ` [PATCH v2 01/16] migration: Create migrate_rdma() Juan Quintela
                   ` (15 more replies)
  0 siblings, 16 replies; 20+ messages in thread
From: Juan Quintela @ 2023-05-03 13:18 UTC (permalink / raw)
  To: qemu-devel; +Cc: Peter Xu, Juan Quintela, Leonardo Bras

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



^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2023-05-03 14:01 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-03 13:18 [PATCH v2 00/16] migration: Remove QEMUFileHooks Juan Quintela
2023-05-03 13:18 ` [PATCH v2 01/16] migration: Create migrate_rdma() Juan Quintela
2023-05-03 13:34   ` Daniel P. Berrangé
2023-05-03 14:01     ` Juan Quintela
2023-05-03 13:18 ` [PATCH v2 02/16] migration/rdma: Unfold ram_control_before_iterate() Juan Quintela
2023-05-03 13:18 ` [PATCH v2 03/16] migration/rdma: Unfold ram_control_after_iterate() Juan Quintela
2023-05-03 13:18 ` [PATCH v2 04/16] migration/rdma: simplify ram_control_load_hook() Juan Quintela
2023-05-03 13:18 ` [PATCH v2 05/16] migration/rdma: Don't pass the QIOChannelRDMA as an opaque Juan Quintela
2023-05-03 13:35   ` Daniel P. Berrangé
2023-05-03 13:18 ` [PATCH v2 06/16] migration/rdma: We can calculate the rioc from the QEMUFile Juan Quintela
2023-05-03 13:18 ` [PATCH v2 07/16] migration/rdma: It makes no sense to recive that flag without RDMA Juan Quintela
2023-05-03 13:18 ` [PATCH v2 08/16] migration: Make RAM_SAVE_FLAG_HOOK a normal case entry Juan Quintela
2023-05-03 13:18 ` [PATCH v2 09/16] migration/rdma: Remove all uses of RAM_CONTROL_HOOK Juan Quintela
2023-05-03 13:18 ` [PATCH v2 10/16] migration/rdma: Unfold hook_ram_load() Juan Quintela
2023-05-03 13:18 ` [PATCH v2 11/16] migration/rdma: Make ram_control_save_page() use exported interfaces Juan Quintela
2023-05-03 13:18 ` [PATCH v2 12/16] migration/rdma: Create rdma_control_save_page() Juan Quintela
2023-05-03 13:18 ` [PATCH v2 13/16] qemu-file: Remove QEMUFileHooks Juan Quintela
2023-05-03 13:18 ` [PATCH v2 14/16] migration/rdma: Move rdma constants from qemu-file.h to rdma.h Juan Quintela
2023-05-03 13:18 ` [PATCH v2 15/16] migration/rdma: Remove qemu_ prefix from exported functions Juan Quintela
2023-05-03 13:18 ` [PATCH v2 16/16] migration/rdma: If we are in postcopy don't do anything Juan Quintela

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).