CI: https://gitlab.com/peterx/qemu/-/pipelines/1575970314
Comparing to v1, this series v2 now contains some patches that may be helpful for either VFIO or postcopy integration on top of multifd. For VFIO, only patch 1 & 2 are relevant. This is the only part that can be compared to v1, where I renamed the sync flag to LOCAL and ALL according to Fabiano's comment. For postcopy, it's about patches 3-7, but it needs to be based on 1+2. I put them together because the two changes are relevant on the multifd sync operation, one must depend on another in some form. So I decided to send them together here. All these patches can be seen as cleanups / slight optimizations on top of master branch. This time I did more test. Besides CI, qtests, and some real-world multifd tests just to monitor the sync events happen all correct, I made sure to cover 7.2 machine type (which uses the legacy sync) so it still works as before - basically sync will be more frequent, but all thing keeps working smoothly so far. Fabiano, let me know what do you think comparing to the other patch [1] on simplifying the flush checks. I'm open to any comments. Thanks, [1] https://lore.kernel.org/r/875xo8n4ue....@suse.de Thanks, Peter Xu (7): migration/multifd: Further remove the SYNC on complete migration/multifd: Allow to sync with sender threads only migration/ram: Move RAM_SAVE_FLAG* into ram.h migration/multifd: Unify RAM_SAVE_FLAG_MULTIFD_FLUSH messages migration/multifd: Remove sync processing on postcopy migration/multifd: Cleanup src flushes on condition check migration/multifd: Document the reason to sync for save_setup() migration/multifd.h | 23 ++++++++-- migration/ram.h | 25 +++++++++++ migration/rdma.h | 7 --- migration/multifd-nocomp.c | 74 ++++++++++++++++++++++++++++++- migration/multifd.c | 15 ++++--- migration/ram.c | 91 +++++++++++++++++--------------------- 6 files changed, 166 insertions(+), 69 deletions(-) -- 2.47.0