qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC 4/6] migration: Deprecate -incoming <uri>


From: Daniel P . Berrangé
Subject: Re: [RFC 4/6] migration: Deprecate -incoming <uri>
Date: Thu, 22 Jun 2023 10:59:58 +0100
User-agent: Mutt/2.2.9 (2022-11-12)

On Thu, Jun 22, 2023 at 10:52:12AM +0200, Juan Quintela wrote:
> Paolo Bonzini <pbonzini@redhat.com> wrote:
> > On 6/12/23 22:51, Juan Quintela wrote:
> >>> Shall we just leave it there?  Or is deprecating it helps us in any form?
> >> See the patches two weeks ago when people complained that lisen(.., num)
> >> was too low.  And there are other parameters that work the same way
> >> (that I convenientely had forgotten).  So the easiest way to get things
> >> right is to use "defer" always.  Using -incoming "uri" should only be
> >> for people that "know what they are doing", so we had to ways to do it:
> >> - review all migration options and see which ones work without defer
> >>    and document it
> >> - deprecate everything that is not defer.
> >
> > "-incoming <uri>" is literally the same as running "migrate-incoming"
> > as the first thing on the monitor:
> >
> >     if (incoming) {
> >         Error *local_err = NULL;
> >         if (strcmp(incoming, "defer") != 0) {
> >             qmp_migrate_incoming(incoming, &local_err);
> >             if (local_err) {
> >                 error_reportf_err(local_err, "-incoming %s: ", incoming);
> >                 exit(1);
> >             }
> >         }
> >     } else if (autostart) {
> >         qmp_cont(NULL);
> >     }
> >
> > It's the only piece of code which distinguishes "-incoming defer" from
> > "-incoming <uri>".
> >
> > So I'm not sure what the problem would be with keeping it?
> 
> User friendliness.
> 
> First of all, I use it all the time.  And I know that it is useful for
> developers.  I was the one asking peter to implement -global
> migration.foo to be able to test multifd with it.
> 
> The problem is that if you use more than two channels with multifd, on
> the incoming side, you need to do:
> 
> - migrate_set_parameter multifd-channels 16
> - migrate_incoming <uri>
> 
> And people continue to do:
> 
> - qemu -incoming <uri>
> - migrate_set_parameter multifd-channels 16 (on the command line)
> 
> And they complain that it fails, because we are calling listen with the
> wrong value.

IMHO if we want to improve user friendliness then arguing about use
of the CLI vs QMP for migration is completely missing the bigger
picture IMHO.

I've mentioned several times before that the user should never need to
set this multifd-channels parameter (nor many other parameters) on the
destination in the first place.

The QEMU migration stream should be changed to add a full
bi-directional handshake, with negotiation of most parameters.
IOW, the src QEMU should be configured with 16 channels, and
it should connect the primary control channel, and then directly
tell the dest that it wants to use 16 multifd channels.

If we're expecting the user to pass this info across to the dest
manually we've already spectacularly failed wrt user friendliness.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




reply via email to

[Prev in Thread] Current Thread [Next in Thread]