[PATCH v8 0/3] Eliminate multifd flush

Juan Quintela posted 3 patches 1 year ago
Failed in applying to current master (apply log)
There is a newer version of this series
hw/core/machine.c     |  1 +
migration/migration.c |  9 +++++++++
migration/migration.h | 12 ++++++++++++
migration/ram.c       | 44 +++++++++++++++++++++++++++++++++++++------
4 files changed, 60 insertions(+), 6 deletions(-)
[PATCH v8 0/3] Eliminate multifd flush
Posted by Juan Quintela 1 year ago
Hi

In this v8:
- rebase over latests

Please review.

[v7]
- Rebased to last upstream
- Rename the capability to a property.  So we move all the problems
  that we have on last review dissaper because it is not a capability.

So now, it is works as expected.  Enabled for old machine types,
disabled for new machine types.  Users will only found it if they go through the migration properties.

Please review.

In this v6:
- Rename multifd-sync-after-each-section to
         multifd-flush-after-each-section
- Redo comments (thanks Markus)
- Redo how to comment capabilities that are enabled/disabled during
  development. (thanks Markus)

Please, review.

In this v5:
- Remove RAM Flags documentation (already on PULL request)
- rebase on top of PULL request.

Please review.

Based-on: <20230213025150.71537-1-quintela@redhat.com>
          Migration 20230213 patches

In this v4:
- Rebased on top of migration-20230209 PULL request
- Integrate two patches in that pull request
- Rebase
- Address Eric reviews.

Please review.

In this v3:
- update to latest upstream.
- fix checkpatch errors.

Please, review.

In this v2:
- update to latest upstream
- change 0, 1, 2 values to defines
- Add documentation for SAVE_VM_FLAGS
- Add missing qemu_fflush(), it made random hangs for migration test
  (only for tls, no clue why).

Please, review.

[v1]
Upstream multifd code synchronize all threads after each RAM section.  This is suboptimal.
Change it to only flush after we go trough all ram.

Preserve all semantics for old machine types.

Juan Quintela (3):
  multifd: Create property multifd-flush-after-each-section
  multifd: Protect multifd_send_sync_main() calls
  multifd: Only flush once each full round of memory

 hw/core/machine.c     |  1 +
 migration/migration.c |  9 +++++++++
 migration/migration.h | 12 ++++++++++++
 migration/ram.c       | 44 +++++++++++++++++++++++++++++++++++++------
 4 files changed, 60 insertions(+), 6 deletions(-)

-- 
2.40.0
Re: [PATCH v8 0/3] Eliminate multifd flush
Posted by Peter Xu 1 year ago
On Tue, Apr 25, 2023 at 06:31:11PM +0200, Juan Quintela wrote:
> Hi
> 
> In this v8:
> - rebase over latests

One trivial comment for patch 1 on the compat bits, for patch 2-3:

Acked-by: Peter Xu <peterx@redhat.com>

Nit: I still think we should just squash the three patches into one, but
I'm fine either way.

Thanks,

-- 
Peter Xu