[PATCH v3 0/4] Allow to enable multifd and postcopy migration together

Prasad Pandit posted 4 patches 1 day, 10 hours ago
migration/migration.c                  | 106 +++++++++++++++----------
migration/multifd-nocomp.c             |   3 +-
migration/multifd.c                    |   5 --
migration/multifd.h                    |   5 ++
migration/options.c                    |   5 --
migration/ram.c                        |  69 +++++-----------
tests/qtest/migration/framework.c      |   8 ++
tests/qtest/migration/framework.h      |   3 +
tests/qtest/migration/postcopy-tests.c |  10 +++
9 files changed, 112 insertions(+), 102 deletions(-)
[PATCH v3 0/4] Allow to enable multifd and postcopy migration together
Posted by Prasad Pandit 1 day, 10 hours ago
From: Prasad Pandit <pjp@fedoraproject.org>

Hello,

* Currently Multifd and Postcopy migration can not be used together.
  QEMU shows "Postcopy is not yet compatible with multifd" message.

  When migrating guests with large (100's GB) RAM, Multifd threads
  help to accelerate migration, but inability to use it with the
  Postcopy mode delays guest start up on the destination side.

* This patch series allows to enable both Multifd and Postcopy
  migration together. Precopy and Multifd threads work during
  the initial guest (RAM) transfer. When migration moves to the
  Postcopy phase, Multifd threads are restrained and the Postcopy
  threads start to request pages from the source side.

* This series removes magic value (4-bytes) introduced in the
  previous series for the Postcopy channel. And refactoring of
  the 'ram_save_target_page' function is made independent of
  the multifd & postcopy change.

* This series passes all existing 'tests/qtest/migration/*' test
  cases and adds a new one to enable multifd channels with postcopy
  migration.

  v2: https://lore.kernel.org/qemu-devel/20241129122256.96778-1-ppandit@redhat.com/T/#u
  v1: https://lore.kernel.org/qemu-devel/20241126115748.118683-1-ppandit@redhat.com/T/#u
  v0: https://lore.kernel.org/qemu-devel/20241029150908.1136894-1-ppandit@redhat.com/T/#u


Thank you.
---
Prasad Pandit (4):
  migration/multifd: move macros to multifd header
  migration: refactor ram_save_target_page functions
  migration: enable multifd and postcopy together
  tests/qtest/migration: add postcopy test with multifd

 migration/migration.c                  | 106 +++++++++++++++----------
 migration/multifd-nocomp.c             |   3 +-
 migration/multifd.c                    |   5 --
 migration/multifd.h                    |   5 ++
 migration/options.c                    |   5 --
 migration/ram.c                        |  69 +++++-----------
 tests/qtest/migration/framework.c      |   8 ++
 tests/qtest/migration/framework.h      |   3 +
 tests/qtest/migration/postcopy-tests.c |  10 +++
 9 files changed, 112 insertions(+), 102 deletions(-)

--
2.48.1
Re: [PATCH v3 0/4] Allow to enable multifd and postcopy migration together
Posted by Peter Xu 1 day, 8 hours ago
On Tue, Jan 21, 2025 at 06:40:28PM +0530, Prasad Pandit wrote:
> From: Prasad Pandit <pjp@fedoraproject.org>
> 
> Hello,
> 
> * Currently Multifd and Postcopy migration can not be used together.
>   QEMU shows "Postcopy is not yet compatible with multifd" message.
> 
>   When migrating guests with large (100's GB) RAM, Multifd threads
>   help to accelerate migration, but inability to use it with the
>   Postcopy mode delays guest start up on the destination side.
> 
> * This patch series allows to enable both Multifd and Postcopy
>   migration together. Precopy and Multifd threads work during
>   the initial guest (RAM) transfer. When migration moves to the
>   Postcopy phase, Multifd threads are restrained and the Postcopy
>   threads start to request pages from the source side.
> 
> * This series removes magic value (4-bytes) introduced in the
>   previous series for the Postcopy channel. And refactoring of
>   the 'ram_save_target_page' function is made independent of
>   the multifd & postcopy change.
> 
> * This series passes all existing 'tests/qtest/migration/*' test
>   cases and adds a new one to enable multifd channels with postcopy
>   migration.
> 
>   v2: https://lore.kernel.org/qemu-devel/20241129122256.96778-1-ppandit@redhat.com/T/#u
>   v1: https://lore.kernel.org/qemu-devel/20241126115748.118683-1-ppandit@redhat.com/T/#u
>   v0: https://lore.kernel.org/qemu-devel/20241029150908.1136894-1-ppandit@redhat.com/T/#u

Another comment for the cover letter (besides the test request): please
consider adding some changelog into cover letter whenever possible.

Normally we don't suggest a changelog only if the wholeset has been
drastically rewritten.  Otherwise having a changelog would help people
understand what has happened between the versions.

Thanks,

-- 
Peter Xu