From: Fabiano Rosas <farosas@suse.de>
To: Peter Xu <peterx@redhat.com>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>, Peter Xu <peterx@redhat.com>,
Mark Kanda <mark.kanda@oracle.com>,
"Michael S . Tsirkin" <mst@redhat.com>,
Markus Armbruster <armbru@redhat.com>,
Eric Blake <eblake@redhat.com>,
"Maciej S. Szmigiero" <maciej.szmigiero@oracle.com>,
Jason Wang <jasowang@redhat.com>, Ben Chaney <bchaney@akamai.com>,
Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Subject: Re: [PATCH RFC 0/2] migration/vl: new -incoming config:* for early migration parameters
Date: Thu, 28 May 2026 19:01:50 -0300 [thread overview]
Message-ID: <87se7btcq9.fsf@suse.de> (raw)
In-Reply-To: <20260528212947.368132-1-peterx@redhat.com>
Peter Xu <peterx@redhat.com> writes:
> CI: https://gitlab.com/peterx/qemu/-/pipelines/2560168907
>
> This series introduces a generic way to specify migration parameters that
> can be used even during the early boot phase of QEMU.
>
> One example use case that already existed is CPR-transfer / CPR-exec.
> currently QEMU has a temporary global variable (incoming_mode) to achieve
> this, but it's hard to understand and this hack bleeded into quite a few
> places that we could have avoided. The lines in patch 2 touched may
> provide some idea.
>
> With a generic approach of setting migration parameters with cmdlines, we
> can remove this hack meanwhile QEMU should be able to keep the CPR behavior
> as before. To CPR maintainers and reviewers: please have a closer look,
> even better if it can be smoke tested, to see if this works for Oracle's
> environment, TIA.
>
> The 1st patch implemented that new semantics. It is straightforward: now
> we can setup any migration parameter using an extra line of:
>
> -incoming config:key1=value1,key2=value2,...
Just merge my code mate.
https://lore.kernel.org/r/20251215220041.12657-25-farosas@suse.de
A couple of differences from my patch:
- old-style keyval vs. json;
Isn't json preferred nowadays?
- using "config:"
This makes it non-uniform with uri and channels which don't have a
keyword in front of them. I guess I could live with it, but it seems
odd. I see that it makes parsing way easier.
>
> So far only one such instance is allowed for simplicity, but it should be
> enough. We still allow multiple -incoming for specifying channels, used
> together with one "-incoming config:*".
>
> Then parameters set this way will be visible almost anytime for QEMU, for
> example, during initialization of device backends (which is before
> migration object created).
>
> I posted this series majorly because I want to see if this will make a
> possible new user for the new "local" migration parameter proposed in
> Vladimir's series:
>
> https://lore.kernel.org/r/20260522120534.77653-1-vsementsov@yandex-team.ru
>
> Especially, there're some context on this idea too in this email:
>
> https://lore.kernel.org/all/ahdI7Vl5KraK566D@x1.local/
>
I like the idea overall.
> With this series, we should be able to drop "incoming-fds" TAP property
> from the other series, instead relying on the existing "local" parameters
> both in migration core and in TAP's property should suffice.
>
> One thing to mention is I didn't further make only-migratable into a
> migration parameter. Logically it will also work now with only-migratable,
> but it then also means I'll need to convert it to a parameter, which will
> be mutable even after VM started. It will change how only-migratable used
> to work, hence I skipped.
>
> After this, we also almost have no reason to use -global for migration
> parameters. Capabilities are still not supported in -incoming cmdline,
> though.
>
Will we still merge capabilities and parameters? Then it would be a free
upgrade.
> Thanks,
>
> Peter Xu (2):
> migration/vl: Allow set parameters with -incoming config:*
> migration/cpr: Opt-in "mode" parameter for early boot access
>
> include/migration/cpr.h | 3 --
> include/migration/misc.h | 5 +++
> migration/migration.h | 3 ++
> migration/cpr.c | 18 ++++----
> migration/migration.c | 91 +++++++++++++++++++++++++++++++++++++++-
> migration/options.c | 10 ++---
> system/vl.c | 7 ++++
> qemu-options.hx | 18 +++++++-
> 8 files changed, 133 insertions(+), 22 deletions(-)
next prev parent reply other threads:[~2026-05-28 22:02 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-28 21:29 [PATCH RFC 0/2] migration/vl: new -incoming config:* for early migration parameters Peter Xu
2026-05-28 21:29 ` [PATCH RFC 1/2] migration/vl: Allow set parameters with -incoming config:* Peter Xu
2026-05-28 22:16 ` Fabiano Rosas
2026-05-29 15:06 ` Peter Xu
2026-05-29 16:44 ` Fabiano Rosas
2026-06-01 21:32 ` Peter Xu
2026-06-02 13:37 ` Fabiano Rosas
2026-06-03 15:36 ` Mark Cave-Ayland
2026-06-03 15:55 ` Peter Xu
2026-06-04 9:21 ` Mark Cave-Ayland
2026-06-04 15:34 ` Peter Xu
2026-05-29 7:19 ` Vladimir Sementsov-Ogievskiy
2026-05-29 14:22 ` Peter Xu
2026-05-29 7:26 ` Vladimir Sementsov-Ogievskiy
2026-05-29 14:26 ` Peter Xu
2026-05-28 21:29 ` [PATCH RFC 2/2] migration/cpr: Opt-in "mode" parameter for early boot access Peter Xu
2026-05-28 23:24 ` Fabiano Rosas
2026-05-29 14:50 ` Peter Xu
2026-05-29 17:21 ` Fabiano Rosas
2026-05-28 22:01 ` Fabiano Rosas [this message]
2026-05-29 14:15 ` [PATCH RFC 0/2] migration/vl: new -incoming config:* for early migration parameters Peter Xu
2026-06-03 9:48 ` Daniel P. Berrangé
2026-06-03 15:50 ` Peter Xu
2026-06-03 17:15 ` Daniel P. Berrangé
2026-06-03 17:45 ` Peter Xu
2026-06-03 17:56 ` Fabiano Rosas
2026-06-03 17:51 ` Fabiano Rosas
2026-06-03 18:00 ` Daniel P. Berrangé
2026-06-03 18:46 ` Peter Xu
2026-06-03 22:00 ` Vladimir Sementsov-Ogievskiy
2026-06-04 18:01 ` Peter Xu
2026-06-05 7:35 ` Vladimir Sementsov-Ogievskiy
2026-06-05 14:08 ` Peter Xu
2026-06-05 14:37 ` Vladimir Sementsov-Ogievskiy
2026-06-05 15:02 ` Peter Xu
2026-06-04 8:18 ` Daniel P. Berrangé
2026-06-04 18:08 ` Peter Xu
2026-06-04 10:03 ` Mark Cave-Ayland
2026-06-03 15:27 ` Mark Cave-Ayland
2026-06-03 17:32 ` Fabiano Rosas
2026-06-03 15:41 ` Mark Cave-Ayland
2026-06-03 15:59 ` Peter Xu
2026-06-04 10:00 ` Mark Cave-Ayland
2026-06-04 13:19 ` Peter Xu
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=87se7btcq9.fsf@suse.de \
--to=farosas@suse.de \
--cc=armbru@redhat.com \
--cc=bchaney@akamai.com \
--cc=eblake@redhat.com \
--cc=jasowang@redhat.com \
--cc=maciej.szmigiero@oracle.com \
--cc=mark.kanda@oracle.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=vsementsov@yandex-team.ru \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.