On 2023/2/7 23:37, Jiri Denemark wrote:
On Fri, Jan 20, 2023 at 16:47:41 +0800, Jiang Jiacheng wrote:
> Add qemu migration parameters to support setting multifd
> migration compression method and level.
>
> Signed-off-by: Jiang Jiacheng <jiangjiacheng(a)huawei.com>
> ---
> src/qemu/qemu_migration.h | 2 ++
> src/qemu/qemu_migration_params.c | 24 +++++++++++++++++++++++-
> src/qemu/qemu_migration_params.h | 3 +++
> 3 files changed, 28 insertions(+), 1 deletion(-)
>
...
> diff --git a/src/qemu/qemu_migration_params.c b/src/qemu/qemu_migration_params.c
> index bd09dcfb23..380fc7dccd 100644
> --- a/src/qemu/qemu_migration_params.c
> +++ b/src/qemu/qemu_migration_params.c
...
> @@ -662,7 +682,9 @@ qemuMigrationParamsFromFlags(virTypedParameterPtr params,
> return NULL;
> }
>
> - if (migParams->params[QEMU_MIGRATION_PARAM_MULTIFD_CHANNELS].set &&
> + if ((migParams->params[QEMU_MIGRATION_PARAM_MULTIFD_CHANNELS].set ||
> + migParams->params[QEMU_MIGRATION_PARAM_MULTIFD_ZLIB_LEVEL].set ||
> + migParams->params[QEMU_MIGRATION_PARAM_MULTIFD_ZSTD_LEVEL].set)
&&
> !(flags & VIR_MIGRATE_PARALLEL)) {
> virReportError(VIR_ERR_INVALID_ARG, "%s",
> _("Turn parallel migration on to tune it"));
This check doesn't really make sense here. The new parameters tune
multifd compression (if enabled) rather than multifd migration itself.
> diff --git a/src/qemu/qemu_migration_params.h b/src/qemu/qemu_migration_params.h
> index e7c65f6a21..5857673227 100644
> --- a/src/qemu/qemu_migration_params.h
> +++ b/src/qemu/qemu_migration_params.h
> @@ -59,6 +59,9 @@ typedef enum {
> QEMU_MIGRATION_PARAM_XBZRLE_CACHE_SIZE,
> QEMU_MIGRATION_PARAM_MAX_POSTCOPY_BANDWIDTH,
> QEMU_MIGRATION_PARAM_MULTIFD_CHANNELS,
> + QEMU_MIGRATION_PARAM_MULTIFD_COMPRESSION,
> + QEMU_MIGRATION_PARAM_MULTIFD_ZLIB_LEVEL,
> + QEMU_MIGRATION_PARAM_MULTIFD_ZSTD_LEVEL,
>
> QEMU_MIGRATION_PARAM_LAST
> } qemuMigrationParam;
And this patch should actually be squashed into the next one.
Thanks for your suggestion, I will improve them in my next version.
Thanks, Jiang Jiacheng
Jirka