[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 00/14] migration/multifd: Refactor ->send_prepare() and cleanups
|
From: |
peterx |
|
Subject: |
[PATCH 00/14] migration/multifd: Refactor ->send_prepare() and cleanups |
|
Date: |
Wed, 31 Jan 2024 18:30:57 +0800 |
From: Peter Xu <peterx@redhat.com>
This patchset contains quite a few refactorings to current multifd:
- It picked up some patches from an old series of mine [0] (the last
patches were dropped, though; I did the cleanup slightly differently):
I still managed to include one patch to split pending_job, but I
rewrote the patch here.
- It tries to cleanup multiple multifd paths here and there, the ultimate
goal is to redefine send_prepare() to be something like:
p->pages -----------> send_prepare() -------------> IOVs
So that there's no obvious change yet on multifd_ops besides redefined
interface for send_prepare(). We may want a separate OPs for file
later.
For 2), one benefit is already presented by Fabiano in his other series [1]
on cleaning up zero copy, but this patchset addressed it quite differently,
and hopefully also more gradually. The other benefit is for sure if we
have a more concrete API for send_prepare() and if we can reach an initial
consensus, then we can have the recent compression accelerators rebased on
top of this one.
This also prepares for the case where the input can be extended to even not
any p->pages, but arbitrary data (like VFIO's potential use case in the
future?). But that will also for later even if reasonable.
Please have a look. Thanks,
[0] https://lore.kernel.org/r/20231022201211.452861-1-peterx@redhat.com
[1] 20240126221943.26628-1-farosas@suse.de">https://lore.kernel.org/qemu-devel/20240126221943.26628-1-farosas@suse.de
Peter Xu (14):
migration/multifd: Drop stale comment for multifd zero copy
migration/multifd: multifd_send_kick_main()
migration/multifd: Drop MultiFDSendParams.quit, cleanup error paths
migration/multifd: Postpone reset of MultiFDPages_t
migration/multifd: Drop MultiFDSendParams.normal[] array
migration/multifd: Separate SYNC request with normal jobs
migration/multifd: Simplify locking in sender thread
migration/multifd: Drop pages->num check in sender thread
migration/multifd: Rename p->num_packets and clean it up
migration/multifd: Move total_normal_pages accounting
migration/multifd: Move trace_multifd_send|recv()
migration/multifd: multifd_send_prepare_header()
migration/multifd: Move header prepare/fill into send_prepare()
migration/multifd: Forbid spurious wakeups
migration/multifd.h | 34 +++--
migration/multifd-zlib.c | 11 +-
migration/multifd-zstd.c | 11 +-
migration/multifd.c | 291 +++++++++++++++++++--------------------
4 files changed, 182 insertions(+), 165 deletions(-)
--
2.43.0
- [PATCH 00/14] migration/multifd: Refactor ->send_prepare() and cleanups,
peterx <=
- [PATCH 01/14] migration/multifd: Drop stale comment for multifd zero copy, peterx, 2024/01/31
- [PATCH 02/14] migration/multifd: multifd_send_kick_main(), peterx, 2024/01/31
- [PATCH 03/14] migration/multifd: Drop MultiFDSendParams.quit, cleanup error paths, peterx, 2024/01/31
- [PATCH 04/14] migration/multifd: Postpone reset of MultiFDPages_t, peterx, 2024/01/31
- [PATCH 06/14] migration/multifd: Separate SYNC request with normal jobs, peterx, 2024/01/31
- [PATCH 07/14] migration/multifd: Simplify locking in sender thread, peterx, 2024/01/31