mbox series

[v3,00/11] migration: New postcopy state, and some cleanups

Message ID 20240619223046.1798968-1-peterx@redhat.com (mailing list archive)
Headers show
Series migration: New postcopy state, and some cleanups | expand

Message

Peter Xu June 19, 2024, 10:30 p.m. UTC
Based-on: <20240617185731.9725-1-farosas@suse.de>

v3:
- Added one comment in patch 8 explaining why migrate_incoming_qmp() needs
  to keep enabling "events" capability.
- Split patch 9 into two patches, which makes migration_event_wait() to be
  used also in migrate_incoming_qmp()
- Rename the tests in last patch, and a spell fix
- Rebased to "[PATCH v3 00/16] migration/mapped-ram: Add direct-io support"

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

The major goal of this patchset is patch 5, which introduced a new postcopy
state so that we will send an event in postcopy reconnect failures that
Libvirt would prefer to have.  There's more information for that issue in
the commit message alone.

Patch 1-2 are cleanups that are not directly relevant but I found/stored
that could be good to have.  I made it simple by putting them together in
one thread to make patch management easier, but I can send them separately
when necessary.

Patch 3 is also a cleanup, but will be needed for patch 4 as dependency.

Patch 4-5 is the core patches.

Patch 6 updates doc for the new state.

Patch 7-11 adds a new test for the new state.

CI: https://gitlab.com/peterx/qemu/-/pipelines/1339544694

Comments welcomed, thanks.

Peter Xu (11):
  migration/multifd: Avoid the final FLUSH in complete()
  migration: Rename thread debug names
  migration: Use MigrationStatus instead of int
  migration: Cleanup incoming migration setup state change
  migration/postcopy: Add postcopy-recover-setup phase
  migration/docs: Update postcopy recover session for SETUP phase
  tests/migration-tests: Drop most WIN32 ifdefs for postcopy failure
    tests
  tests/migration-tests: Always enable migration events
  tests/migration-tests: migration_event_wait()
  tests/migration-tests: Verify postcopy-recover-setup status
  tests/migration-tests: Cover postcopy failure on reconnect

 docs/devel/migration/postcopy.rst |  31 ++++----
 qapi/migration.json               |   4 ++
 migration/migration.h             |   9 +--
 migration/postcopy-ram.h          |   3 +
 tests/qtest/migration-helpers.h   |   2 +
 migration/colo.c                  |   2 +-
 migration/migration.c             |  98 +++++++++++++++++--------
 migration/multifd.c               |   6 +-
 migration/postcopy-ram.c          |  10 ++-
 migration/ram.c                   |   4 --
 migration/savevm.c                |   6 +-
 tests/qtest/migration-helpers.c   |  32 ++++++---
 tests/qtest/migration-test.c      | 116 +++++++++++++++++++++++-------
 13 files changed, 229 insertions(+), 94 deletions(-)

Comments

Fabiano Rosas June 21, 2024, 5:38 p.m. UTC | #1
On Wed, 19 Jun 2024 18:30:35 -0400, Peter Xu wrote:
> Based-on: <20240617185731.9725-1-farosas@suse.de>
> 
> v3:
> - Added one comment in patch 8 explaining why migrate_incoming_qmp() needs
>   to keep enabling "events" capability.
> - Split patch 9 into two patches, which makes migration_event_wait() to be
>   used also in migrate_incoming_qmp()
> - Rename the tests in last patch, and a spell fix
> - Rebased to "[PATCH v3 00/16] migration/mapped-ram: Add direct-io support"
> 
> [...]

Queued, thanks!