From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Peter Xu <peterx@redhat.com>
Cc: Juan Quintela <quintela@redhat.com>,
qemu-devel@nongnu.org, lvivier@redhat.com
Subject: Re: [Qemu-devel] [PATCH v3 1/2] migration: Create tcp_port parameter
Date: Fri, 8 Dec 2017 11:53:13 +0000 [thread overview]
Message-ID: <20171208115312.GL2403@work-vm> (raw)
In-Reply-To: <20171205080230.GD2925@xz-mi>
* Peter Xu (peterx@redhat.com) wrote:
> On Fri, Dec 01, 2017 at 01:57:49PM +0100, Juan Quintela wrote:
> > It will be used to store the uri tcp_port parameter. This is the only
> > parameter than can change and we can need to be able to connect to it.
> >
> > Signed-off-by: Juan Quintela <quintela@redhat.com>
> >
> > --
> >
> > This used to be uri parameter, but it has so many troubles to
> > reproduce that it don't just make sense.
> > ---
> > hmp.c | 7 +++++++
> > migration/migration.c | 10 ++++++++++
> > qapi/migration.json | 19 ++++++++++++++++---
> > 3 files changed, 33 insertions(+), 3 deletions(-)
> >
> > diff --git a/hmp.c b/hmp.c
> > index 1727c9c003..6387d6d517 100644
> > --- a/hmp.c
> > +++ b/hmp.c
> > @@ -345,6 +345,9 @@ void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict)
> > monitor_printf(mon, "%s: %" PRIu64 "\n",
> > MigrationParameter_str(MIGRATION_PARAMETER_XBZRLE_CACHE_SIZE),
> > params->xbzrle_cache_size);
> > + monitor_printf(mon, "%s: %d\n",
> > + MigrationParameter_str(MIGRATION_PARAMETER_TCP_PORT),
> > + params->tcp_port);
> > }
> >
> > qapi_free_MigrationParameters(params);
> > @@ -1659,6 +1662,10 @@ void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict)
> > }
> > p->xbzrle_cache_size = cache_size;
> > break;
> > + case MIGRATION_PARAMETER_TCP_PORT:
> > + p->has_tcp_port = true;
> > + visit_type_uint16(v, param, &p->tcp_port, &err);
>
> Should we allow user to set this parameter? Or it's just used for
> query, only? (AFAIU from next patch, this is only used for query)
Same question; it makes me wonder if this field should actually go in
MigrationStats; the problem with that is it's currently only shows the
source side; even though at times people have suggested adding
destination side data to it.
Dave
> > + break;
> > default:
> > assert(0);
> > }
> > diff --git a/migration/migration.c b/migration/migration.c
> > index 19917a4b5b..abc02d4efd 100644
> > --- a/migration/migration.c
> > +++ b/migration/migration.c
> > @@ -517,6 +517,8 @@ MigrationParameters *qmp_query_migrate_parameters(Error **errp)
> > params->x_multifd_page_count = s->parameters.x_multifd_page_count;
> > params->has_xbzrle_cache_size = true;
> > params->xbzrle_cache_size = s->parameters.xbzrle_cache_size;
> > + params->has_tcp_port = true;
> > + params->tcp_port = s->parameters.tcp_port;
> >
> > return params;
> > }
> > @@ -884,6 +886,9 @@ static void migrate_params_test_apply(MigrateSetParameters *params,
> > if (params->has_xbzrle_cache_size) {
> > dest->xbzrle_cache_size = params->xbzrle_cache_size;
> > }
> > + if (params->has_tcp_port) {
> > + dest->tcp_port = params->tcp_port;
> > + }
> > }
> >
> > static void migrate_params_apply(MigrateSetParameters *params, Error **errp)
> > @@ -956,6 +961,9 @@ static void migrate_params_apply(MigrateSetParameters *params, Error **errp)
> > s->parameters.xbzrle_cache_size = params->xbzrle_cache_size;
> > xbzrle_cache_resize(params->xbzrle_cache_size, errp);
> > }
> > + if (params->has_tcp_port) {
> > + s->parameters.tcp_port = params->tcp_port;
> > + }
> > }
> >
> > void qmp_migrate_set_parameters(MigrateSetParameters *params, Error **errp)
> > @@ -2422,6 +2430,8 @@ static Property migration_properties[] = {
> > DEFINE_PROP_SIZE("xbzrle-cache-size", MigrationState,
> > parameters.xbzrle_cache_size,
> > DEFAULT_MIGRATE_XBZRLE_CACHE_SIZE),
> > + DEFINE_PROP_UINT16("x-tcp-port", MigrationState,
> > + parameters.tcp_port, 0),
>
> Same question here... If it's only for querying, why allow user to
> specify it?
>
> Thanks,
>
> >
> > /* Migration capabilities */
> > DEFINE_PROP_MIG_CAP("x-xbzrle", MIGRATION_CAPABILITY_XBZRLE),
> > diff --git a/qapi/migration.json b/qapi/migration.json
> > index 4cd3d13158..e2a1d86216 100644
> > --- a/qapi/migration.json
> > +++ b/qapi/migration.json
> > @@ -488,6 +488,9 @@
> > # and a power of 2
> > # (Since 2.11)
> > #
> > +# @tcp-port: Only used for tcp, to know what is the real port
> > +# (Since 2.12)
> > +#
> > # Since: 2.4
> > ##
> > { 'enum': 'MigrationParameter',
> > @@ -496,7 +499,7 @@
> > 'tls-creds', 'tls-hostname', 'max-bandwidth',
> > 'downtime-limit', 'x-checkpoint-delay', 'block-incremental',
> > 'x-multifd-channels', 'x-multifd-page-count',
> > - 'xbzrle-cache-size' ] }
> > + 'xbzrle-cache-size', 'tcp-port' ] }
> >
> > ##
> > # @MigrateSetParameters:
> > @@ -564,6 +567,10 @@
> > # needs to be a multiple of the target page size
> > # and a power of 2
> > # (Since 2.11)
> > +#
> > +# @tcp-port: Only used for tcp, to know what is the real port
> > +# (Since 2.12)
> > +#
> > # Since: 2.4
> > ##
> > # TODO either fuse back into MigrationParameters, or make
> > @@ -582,7 +589,8 @@
> > '*block-incremental': 'bool',
> > '*x-multifd-channels': 'int',
> > '*x-multifd-page-count': 'int',
> > - '*xbzrle-cache-size': 'size' } }
> > + '*xbzrle-cache-size': 'size' ,
> > + '*tcp-port': 'uint16'} }
> >
> > ##
> > # @migrate-set-parameters:
> > @@ -665,6 +673,10 @@
> > # needs to be a multiple of the target page size
> > # and a power of 2
> > # (Since 2.11)
> > +#
> > +# @tcp-port: Only used for tcp, to know what is the real port
> > +# (Since 2.12)
> > +#
> > # Since: 2.4
> > ##
> > { 'struct': 'MigrationParameters',
> > @@ -681,7 +693,8 @@
> > '*block-incremental': 'bool' ,
> > '*x-multifd-channels': 'uint8',
> > '*x-multifd-page-count': 'uint32',
> > - '*xbzrle-cache-size': 'size' } }
> > + '*xbzrle-cache-size': 'size',
> > + '*tcp-port': 'uint16'} }
> >
> > ##
> > # @query-migrate-parameters:
> > --
> > 2.14.3
> >
>
> --
> Peter Xu
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2017-12-08 11:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-01 12:57 [Qemu-devel] [PATCH v3 0/2] Improve info migrate output on destination Juan Quintela
2017-12-01 12:57 ` [Qemu-devel] [PATCH v3 1/2] migration: Create tcp_port parameter Juan Quintela
2017-12-01 18:28 ` Eric Blake
2018-01-04 18:16 ` Juan Quintela
2017-12-05 8:02 ` Peter Xu
2017-12-08 11:53 ` Dr. David Alan Gilbert [this message]
2018-01-04 18:18 ` Juan Quintela
2017-12-01 12:57 ` [Qemu-devel] [PATCH v3 2/2] migration: Set the migration tcp port Juan Quintela
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=20171208115312.GL2403@work-vm \
--to=dgilbert@redhat.com \
--cc=lvivier@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.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 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.