mbox series

[v3,0/7] migration/multifd: Some VFIO / postcopy preparations on flush

Message ID 20241206224755.1108686-1-peterx@redhat.com
Headers show
Series migration/multifd: Some VFIO / postcopy preparations on flush | expand

Message

Peter Xu Dec. 6, 2024, 10:47 p.m. UTC
CI: https://gitlab.com/peterx/qemu/-/pipelines/1577280033
 (note: it's a pipeline of two patchsets, to save CI credits and time)

v1: https://lore.kernel.org/r/20241205185303.897010-1-peterx@redhat.com
v2: https://lore.kernel.org/r/20241206005834.1050905-1-peterx@redhat.com

v3 changelog:
- R-bs collected
- Update commit message of patch 1 [Fabiano]
- English updates [Fabiano]
- Update comment for MULTIFD_SYNC_ALL [Fabiano]
- In multifd_send_sync_main(), assert on req type [Fabiano]
- Some more comments and cleanup for RAM_SAVE_FLAG_* movement [Fabiano]
- Update the last document patch [Fabiano]

This series provides some changes that may be helpful for either VFIO or
postcopy integration on top of multifd.

For VFIO, only patches 1 & 2 are relevant.

For postcopy, it's about patches 3-7, but it needs to be based on 1+2
because of a context dependency.

All these patches can be seen as cleanups / slight optimizations on top of
master branch with/without the VFIO/postcopy work.

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.

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        | 27 ++++++++++--
 migration/ram.h            | 28 ++++++++++++
 migration/rdma.h           |  7 ---
 migration/multifd-nocomp.c | 74 ++++++++++++++++++++++++++++++-
 migration/multifd.c        | 17 +++++---
 migration/ram.c            | 89 +++++++++++++++++---------------------
 6 files changed, 173 insertions(+), 69 deletions(-)

Comments

Fabiano Rosas Dec. 17, 2024, 3:26 p.m. UTC | #1
Peter Xu <peterx@redhat.com> writes:

> CI: https://gitlab.com/peterx/qemu/-/pipelines/1577280033
>  (note: it's a pipeline of two patchsets, to save CI credits and time)
>
> v1: https://lore.kernel.org/r/20241205185303.897010-1-peterx@redhat.com
> v2: https://lore.kernel.org/r/20241206005834.1050905-1-peterx@redhat.com
>
> v3 changelog:
> - R-bs collected
> - Update commit message of patch 1 [Fabiano]
> - English updates [Fabiano]
> - Update comment for MULTIFD_SYNC_ALL [Fabiano]
> - In multifd_send_sync_main(), assert on req type [Fabiano]
> - Some more comments and cleanup for RAM_SAVE_FLAG_* movement [Fabiano]
> - Update the last document patch [Fabiano]
>
> This series provides some changes that may be helpful for either VFIO or
> postcopy integration on top of multifd.
>
> For VFIO, only patches 1 & 2 are relevant.
>
> For postcopy, it's about patches 3-7, but it needs to be based on 1+2
> because of a context dependency.
>
> All these patches can be seen as cleanups / slight optimizations on top of
> master branch with/without the VFIO/postcopy work.
>
> 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.
>
> 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        | 27 ++++++++++--
>  migration/ram.h            | 28 ++++++++++++
>  migration/rdma.h           |  7 ---
>  migration/multifd-nocomp.c | 74 ++++++++++++++++++++++++++++++-
>  migration/multifd.c        | 17 +++++---
>  migration/ram.c            | 89 +++++++++++++++++---------------------
>  6 files changed, 173 insertions(+), 69 deletions(-)

Queued, thanks!