From: Peter Xu <peterx@redhat.com>
To: Steven Sistare <steven.sistare@oracle.com>
Cc: "Daniel P. Berrangé" <berrange@redhat.com>,
qemu-devel@nongnu.org, "Fabiano Rosas" <farosas@suse.de>,
"Markus Armbruster" <armbru@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>
Subject: Re: [RFC V1 0/6] Live update: cpr-transfer
Date: Fri, 16 Aug 2024 12:07:07 -0400 [thread overview]
Message-ID: <Zr95K3-Df8fHZ66w@x1n> (raw)
In-Reply-To: <79cf9d92-9abe-4045-8789-4e3b13102751@oracle.com>
On Fri, Aug 16, 2024 at 11:14:38AM -0400, Steven Sistare wrote:
> On 8/16/2024 4:42 AM, Daniel P. Berrangé wrote:
> > On Thu, Aug 15, 2024 at 04:28:59PM -0400, Peter Xu wrote:
> > > On Sat, Jul 20, 2024 at 04:07:50PM -0400, Steven Sistare wrote:
> > > > > > The new user-visible interfaces are:
> > > > > > * cpr-transfer (MigMode migration parameter)
> > > > > > * cpr-uri (migration parameter)
> > > > >
> > > > > I wonder whether this parameter can be avoided already, maybe we can let
> > > > > cpr-transfer depend on unix socket in -incoming, then integrate fd sharing
> > > > > in the same channel?
> > > >
> > > > You saw the answer in another thread, but I repeat it here for others benefit:
> > > >
> > > > "CPR state cannot be sent over the normal migration channel, because devices
> > > > and backends are created prior to reading the channel, so this mode sends
> > > > CPR state over a second migration channel that is not visible to the user.
> > > > New QEMU reads the second channel prior to creating devices or backends."
> > >
> > > Today when looking again, I wonder about the other way round: can we make
> > > the new parameter called "-incoming-cpr", working exactly the same as
> > > "cpr-uri" qemu cmdline, but then after cpr is loaded it'll be automatically
> > > be reused for migration incoming ports?
> > >
> > > After all, cpr needs to happen already with unix sockets. Having separate
> > > cmdline options grants user to make the other one to be non-unix, but that
> > > doesn't seem to buy us anything.. then it seems easier to always reuse it,
> > > and restrict cpr-transfer to only work with unix sockets for incoming too?
> >
> > IMHO we should not be adding any new command line parameter at all,
> > and in fact we should actually deprecate the existing "-incoming",
> > except when used with "defer".
> >
> > An application managing migration should be doing all the configuration
> > via QMP
>
> This is devilish hard to implement for cpr-uri, because it must be known
> before any backends or devices are created. The existing preconfig phase
> occurs too late.
>
> One must define a new precreate phase which occurs before any backends or
> devices are created. Requires a new -precreate option and a precreate-exit
> qmp command.
>
> Untangle catch-22 dependencies amongst properties, machine, and accelerator,
> so that migration_object_init() can be called early, so that migration
> commands are supported in the monitor.
>
> Extract monitor specific options and start a monitor (and first create
> monitor chardevs, an exception to the "no creation" rule).
>
> If/when someone tackles the "all configuration via QMP" project, I would
> be happy to advise, but right now a cpr-uri command-line parameter is
> a sane and simple option.
So far it looks ok to me from migration POV, but that definitely sounds
like relevant to whoever cares about this go-via-QMP-only project. Let me
at least copy Paolo as I know he's in that, maybe anyone else too just to
collect feedbacks, or just to let people know one more exception might be
needed (if no NACK will come later).
Thanks,
--
Peter Xu
next prev parent reply other threads:[~2024-08-16 16:08 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-30 19:44 [RFC V1 0/6] Live update: cpr-transfer Steve Sistare
2024-06-30 19:44 ` [RFC V1 1/6] migration: SCM_RIGHTS for QEMUFile Steve Sistare
2024-08-02 8:20 ` Euan Turner
2024-08-05 19:06 ` Steven Sistare
2024-08-15 20:58 ` Peter Xu
2024-08-16 15:13 ` Steven Sistare
2024-08-16 15:51 ` Peter Xu
2024-06-30 19:44 ` [RFC V1 2/6] migration: VMSTATE_FD Steve Sistare
2024-06-30 19:44 ` [RFC V1 3/6] migration: cpr-transfer save and load Steve Sistare
2024-06-30 19:44 ` [RFC V1 4/6] migration: cpr-uri parameter Steve Sistare
2024-08-15 20:46 ` Peter Xu
2024-08-16 15:13 ` Steven Sistare
2024-06-30 19:44 ` [RFC V1 5/6] migration: cpr-uri option Steve Sistare
2024-06-30 19:44 ` [RFC V1 6/6] migration: cpr-transfer mode Steve Sistare
2024-08-13 21:27 ` Steven Sistare
2024-07-18 15:36 ` [RFC V1 0/6] Live update: cpr-transfer Peter Xu
2024-07-20 20:07 ` Steven Sistare
2024-08-15 20:28 ` Peter Xu
2024-08-16 8:42 ` Daniel P. Berrangé
2024-08-16 15:14 ` Steven Sistare
2024-08-16 16:07 ` Peter Xu [this message]
2024-08-16 15:13 ` Steven Sistare
2024-08-16 15:23 ` Peter Xu
2024-08-16 15:36 ` Daniel P. Berrangé
2024-08-16 15:59 ` Peter Xu
2024-08-16 18:34 ` Steven Sistare
2024-08-20 16:29 ` Steven Sistare
2024-09-04 21:14 ` Steven Sistare
2024-09-04 22:09 ` Peter Xu
2024-09-05 17:30 ` 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=Zr95K3-Df8fHZ66w@x1n \
--to=peterx@redhat.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=farosas@suse.de \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=steven.sistare@oracle.com \
/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).