From: Juraj Marcin <jmarcin@redhat.com>
To: qemu-devel@nongnu.org
Cc: Juraj Marcin <jmarcin@redhat.com>, Peter Xu <peterx@redhat.com>,
"Dr. David Alan Gilbert" <dave@treblig.org>,
Jiri Denemark <jdenemar@redhat.com>,
Fabiano Rosas <farosas@suse.de>
Subject: [PATCH v3 0/7] migration: Introduce POSTCOPY_DEVICE state
Date: Thu, 30 Oct 2025 22:49:04 +0100 [thread overview]
Message-ID: <20251030214915.1411860-1-jmarcin@redhat.com> (raw)
This series introduces a new POSTCOPY_DEVICE state that is active (both,
on source and destination side), while the destination loads the device
state. Before this series, if the destination machine failed during the
device load, the source side would stay stuck POSTCOPY_ACTIVE with no
way of recovery. With this series, if the migration fails while in
POSTCOPY_DEVICE state, the source side can safely resume, as destination
has not started yet.
RFC: https://lore.kernel.org/all/20250807114922.1013286-1-jmarcin@redhat.com/
V1: https://lore.kernel.org/all/20250915115918.3520735-1-jmarcin@redhat.com/
V2: https://lore.kernel.org/all/20251027154115.4138677-1-jmarcin@redhat.com/
V3 changes:
- rebased on top of https://gitlab.com/peterx/qemu/-/commits/staging
Patch 2:
- split into two separate patches
Patches 4, 5, 6 (was Patch 3)
- return to previous migration_incoming_state_destroy() that will not
exit on error
- use existing exit-on-error option also for postcopy, in separate patch
- moved conversion of the postcopy listen thread to a joinable thread
into a separate patch
Patch 7:
- added reset of postcopy_package_loaded_event
Juraj Marcin (6):
migration: Move postcopy_ram_listen_thread() to postcopy-ram.c
migration: Introduce postcopy incoming setup and cleanup functions
migration: Refactor all incoming cleanup info
migration_incoming_destroy()
migration: Respect exit-on-error when migration fails before resuming
migration: Make postcopy listen thread joinable
migration: Introduce POSTCOPY_DEVICE state
Peter Xu (1):
migration: Do not try to start VM if disk activation fails
migration/migration.c | 116 ++++++++++++-------
migration/migration.h | 4 +
migration/postcopy-ram.c | 160 ++++++++++++++++++++++++++
migration/postcopy-ram.h | 3 +
migration/savevm.c | 134 +--------------------
migration/savevm.h | 2 +
migration/trace-events | 3 +-
qapi/migration.json | 8 +-
tests/qtest/migration/precopy-tests.c | 3 +-
9 files changed, 260 insertions(+), 173 deletions(-)
--
2.51.0
next reply other threads:[~2025-10-30 21:52 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-30 21:49 Juraj Marcin [this message]
2025-10-30 21:49 ` [PATCH v3 1/7] migration: Do not try to start VM if disk activation fails Juraj Marcin
2025-10-30 21:49 ` [PATCH v3 2/7] migration: Move postcopy_ram_listen_thread() to postcopy-ram.c Juraj Marcin
2025-10-30 22:28 ` Peter Xu
2025-10-30 21:49 ` [PATCH v3 3/7] migration: Introduce postcopy incoming setup and cleanup functions Juraj Marcin
2025-10-30 22:35 ` Peter Xu
2025-10-30 21:49 ` [PATCH v3 4/7] migration: Refactor all incoming cleanup info migration_incoming_destroy() Juraj Marcin
2025-10-30 22:49 ` Peter Xu
2025-10-31 11:03 ` Juraj Marcin
2025-10-31 16:29 ` Peter Xu
2025-10-31 17:01 ` Peter Xu
2025-10-30 21:49 ` [PATCH v3 5/7] migration: Respect exit-on-error when migration fails before resuming Juraj Marcin
2025-10-30 22:49 ` Peter Xu
2025-10-30 21:49 ` [PATCH v3 6/7] migration: Make postcopy listen thread joinable Juraj Marcin
2025-10-30 22:49 ` Peter Xu
2025-10-30 21:49 ` [PATCH v3 7/7] migration: Introduce POSTCOPY_DEVICE state Juraj Marcin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251030214915.1411860-1-jmarcin@redhat.com \
--to=jmarcin@redhat.com \
--cc=dave@treblig.org \
--cc=farosas@suse.de \
--cc=jdenemar@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).