From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Juan Quintela <quintela@redhat.com>
Cc: qemu-devel@nongnu.org, Markus Armbruster <armbru@redhat.com>,
Leonardo Bras <leobras@redhat.com>,
qemu-block@nongnu.org, Peter Xu <peterx@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Eric Blake <eblake@redhat.com>, Fam Zheng <fam@euphon.net>,
Thomas Huth <thuth@redhat.com>,
libvir-list@redhat.com, Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [RFC 6/6] migration: Deprecated old compression method
Date: Wed, 21 Jun 2023 11:31:43 +0100 [thread overview]
Message-ID: <ZJLRj02koQn4jXHi@redhat.com> (raw)
In-Reply-To: <20230612193344.3796-7-quintela@redhat.com>
On Mon, Jun 12, 2023 at 09:33:44PM +0200, Juan Quintela wrote:
> Signed-off-by: Juan Quintela <quintela@redhat.com>
> ---
> docs/about/deprecated.rst | 8 ++++
> qapi/migration.json | 92 ++++++++++++++++++++++++---------------
> migration/options.c | 13 ++++++
> 3 files changed, 79 insertions(+), 34 deletions(-)
>
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index 173c5ba5cb..fe7f2bbde8 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -460,3 +460,11 @@ block migration (since 8.1)
> Block migration is too inflexible. It needs to migrate all block
> devices or none. Use driver_mirror+NBD instead.
>
> +old compression method (since 8.1)
> +''''''''''''''''''''''''''''''''''
> +
> +Compression method fails too much. Too many races. We are going to
> +remove it if nobody fixes it. For starters, migration-test
> +compression tests are disabled becase they hand randomly. If you need
> +compression, use multifd compression methods.
> +
> diff --git a/qapi/migration.json b/qapi/migration.json
> index a8497de48d..40a8b5d124 100644
> --- a/qapi/migration.json
> +++ b/qapi/migration.json
> @@ -244,6 +244,7 @@
> #
> # @compression: migration compression statistics, only returned if
> # compression feature is on and status is 'active' or 'completed'
> +# It is obsolete and deprecated. Use multifd compression methods.
> # (Since 3.1)
This doesn't give users an indication /why/ we're saying this. Instead
I'd suggest
This feature is unreliable and not tested. It is recommended to
use multifd migration instead, which offers an alternative reliable
and tested compression implementation.
> #
> # @socket-address: Only used for tcp, to know what the real port is
> @@ -261,7 +262,8 @@
> # Features:
> #
> # @deprecated: @disk migration is deprecated. Use driver_mirror+NBD
> -# instead.
> +# instead. @compression is obsolete use multifd compression
> +# methods instead.
For @deprecated, are we supposed to list multiple things at once, or
use a separate @deprecated tag for each one ?
Again I'd suggest rewording
@compression is unreliable and untested. It is recommended to
use multifd migration, which offers an alternative compression
implementation that is reliable and tested.
> diff --git a/migration/options.c b/migration/options.c
> index 374dc0767e..c04e62ba2d 100644
> --- a/migration/options.c
> +++ b/migration/options.c
> @@ -443,6 +443,11 @@ bool migrate_caps_check(bool *old_caps, bool *new_caps, Error **errp)
> "Use driver_mirror+NBD instead.");
> }
>
> + if (new_caps[MIGRATION_CAPABILITY_BLOCK]) {
Surely MIGRATION_CAPABILITY_COMPRESS not BLOCK ?
> + warn_report("Old compression method is deprecated. "
> + "Use multifd compression methods instead.");
> + }
> +
> #ifndef CONFIG_REPLICATION
> if (new_caps[MIGRATION_CAPABILITY_X_COLO]) {
> error_setg(errp, "QEMU compiled without replication module"
> @@ -1196,18 +1201,26 @@ static void migrate_params_apply(MigrateSetParameters *params, Error **errp)
> /* TODO use QAPI_CLONE() instead of duplicating it inline */
>
> if (params->has_compress_level) {
> + warn_report("Old compression is deprecated. "
> + "Use multifd compression methods instead.");
> s->parameters.compress_level = params->compress_level;
> }
>
> if (params->has_compress_threads) {
> + warn_report("Old compression is deprecated. "
> + "Use multifd compression methods instead.");
> s->parameters.compress_threads = params->compress_threads;
> }
>
> if (params->has_compress_wait_thread) {
> + warn_report("Old compression is deprecated. "
> + "Use multifd compression methods instead.");
> s->parameters.compress_wait_thread = params->compress_wait_thread;
> }
>
> if (params->has_decompress_threads) {
> + warn_report("Old compression is deprecated. "
> + "Use multifd compression methods instead.");
> s->parameters.decompress_threads = params->decompress_threads;
> }
>
> --
> 2.40.1
>
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 :|
next prev parent reply other threads:[~2023-06-21 10:32 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-12 19:33 [RFC 0/6] Migration deprecated parts Juan Quintela
2023-06-12 19:33 ` [RFC 1/6] migration: skipped field is really obsolete Juan Quintela
2023-06-20 12:01 ` Daniel P. Berrangé
2023-06-22 17:49 ` Juan Quintela
2023-06-12 19:33 ` [RFC 2/6] migration: migrate 'inc' command option is deprecated Juan Quintela
2023-06-20 12:05 ` Daniel P. Berrangé
2023-06-22 18:11 ` Juan Quintela
2023-06-12 19:33 ` [RFC 3/6] migration: migrate 'blk' " Juan Quintela
2023-06-20 12:06 ` Daniel P. Berrangé
2023-06-22 18:12 ` Juan Quintela
2023-06-12 19:33 ` [RFC 4/6] migration: Deprecate -incoming <uri> Juan Quintela
2023-06-12 19:41 ` Peter Xu
2023-06-12 20:51 ` Juan Quintela
2023-06-12 21:19 ` Peter Xu
2023-06-20 12:13 ` Daniel P. Berrangé
2023-06-22 19:34 ` Juan Quintela
2023-06-20 12:10 ` Daniel P. Berrangé
2023-06-20 14:45 ` Peter Xu
2023-06-22 8:28 ` Paolo Bonzini
2023-06-22 8:52 ` Juan Quintela
2023-06-22 9:22 ` Thomas Huth
2023-06-22 15:25 ` Peter Xu
2023-06-22 19:37 ` Juan Quintela
2023-06-22 9:45 ` Paolo Bonzini
2023-06-22 10:01 ` Juan Quintela
2023-06-22 15:24 ` Peter Xu
2023-06-22 16:03 ` Paolo Bonzini
2023-06-22 9:59 ` Daniel P. Berrangé
2023-06-22 15:54 ` Peter Xu
2023-06-22 16:33 ` Daniel P. Berrangé
2023-06-22 19:20 ` Peter Xu
2023-06-23 7:17 ` Daniel P. Berrangé
2023-06-23 14:34 ` Peter Xu
2023-06-23 8:23 ` Daniel P. Berrangé
2023-06-23 14:51 ` Peter Xu
2023-06-23 15:03 ` Daniel P. Berrangé
2023-06-21 7:08 ` Thomas Huth
2023-06-22 2:22 ` Juan Quintela
2023-06-22 8:30 ` Paolo Bonzini
2023-06-22 18:12 ` Juan Quintela
2023-06-12 19:33 ` [RFC 5/6] migration: Deprecate block migration Juan Quintela
2023-06-21 11:45 ` Stefan Hajnoczi
2023-06-22 18:17 ` Juan Quintela
2023-06-12 19:33 ` [RFC 6/6] migration: Deprecated old compression method Juan Quintela
2023-06-21 7:14 ` Thomas Huth
2023-06-22 19:21 ` Juan Quintela
2023-06-21 10:31 ` Daniel P. Berrangé [this message]
2023-06-22 19:32 ` Juan Quintela
2023-06-13 7:48 ` [RFC 0/6] Migration deprecated parts Jiri Denemark
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=ZJLRj02koQn4jXHi@redhat.com \
--to=berrange@redhat.com \
--cc=armbru@redhat.com \
--cc=eblake@redhat.com \
--cc=fam@euphon.net \
--cc=leobras@redhat.com \
--cc=libvir-list@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=stefanha@redhat.com \
--cc=thuth@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 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).