[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v11 3/7] migration: Add zero-copy-send parameter for QMP/HMP
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v11 3/7] migration: Add zero-copy-send parameter for QMP/HMP for Linux |
Date: |
Thu, 05 May 2022 07:55:38 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Leonardo Bras <leobras@redhat.com> writes:
> Add property that allows zero-copy migration of memory pages
> on the sending side, and also includes a helper function
> migrate_use_zero_copy_send() to check if it's enabled.
>
> No code is introduced to actually do the migration, but it allow
> future implementations to enable/disable this feature.
>
> On non-Linux builds this parameter is compiled-out.
>
> Signed-off-by: Leonardo Bras <leobras@redhat.com>
> Reviewed-by: Peter Xu <peterx@redhat.com>
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> Reviewed-by: Juan Quintela <quintela@redhat.com>
> Acked-by: Markus Armbruster <armbru@redhat.com>
> ---
> qapi/migration.json | 24 ++++++++++++++++++++++++
> migration/migration.h | 5 +++++
> migration/migration.c | 32 ++++++++++++++++++++++++++++++++
> migration/socket.c | 11 +++++++++--
> monitor/hmp-cmds.c | 6 ++++++
> 5 files changed, 76 insertions(+), 2 deletions(-)
>
> diff --git a/qapi/migration.json b/qapi/migration.json
> index 409eb086a2..04246481ce 100644
> --- a/qapi/migration.json
> +++ b/qapi/migration.json
> @@ -741,6 +741,13 @@
> # will consume more CPU.
> # Defaults to 1. (Since 5.0)
> #
> +# @zero-copy-send: Controls behavior on sending memory pages on migration.
> +# When true, enables a zero-copy mechanism for sending
> memory
> +# pages, if host supports it.
> +# Requires that QEMU be permitted to use locked memory for
> guest
Please wrap lines around column 75. More of the same below.
> +# RAM pages.
> +# Defaults to false. (Since 7.1)
> +#
> # @block-bitmap-mapping: Maps block nodes and bitmaps on them to
> # aliases for the purpose of dirty bitmap migration.
> Such
> # aliases may for example be the corresponding names
> on the
> @@ -780,6 +787,7 @@
> 'xbzrle-cache-size', 'max-postcopy-bandwidth',
> 'max-cpu-throttle', 'multifd-compression',
> 'multifd-zlib-level' ,'multifd-zstd-level',
> + { 'name': 'zero-copy-send', 'if' : 'CONFIG_LINUX'},
> 'block-bitmap-mapping' ] }
>
> ##
> @@ -906,6 +914,13 @@
> # will consume more CPU.
> # Defaults to 1. (Since 5.0)
> #
> +# @zero-copy-send: Controls behavior on sending memory pages on migration.
> +# When true, enables a zero-copy mechanism for sending
> memory
> +# pages, if host supports it.
> +# Requires that QEMU be permitted to use locked memory for
> guest
> +# RAM pages.
> +# Defaults to false. (Since 7.1)
> +#
> # @block-bitmap-mapping: Maps block nodes and bitmaps on them to
> # aliases for the purpose of dirty bitmap migration.
> Such
> # aliases may for example be the corresponding names
> on the
> @@ -960,6 +975,7 @@
> '*multifd-compression': 'MultiFDCompression',
> '*multifd-zlib-level': 'uint8',
> '*multifd-zstd-level': 'uint8',
> + '*zero-copy-send': { 'type': 'bool', 'if': 'CONFIG_LINUX' },
> '*block-bitmap-mapping': [ 'BitmapMigrationNodeAlias' ] } }
>
> ##
> @@ -1106,6 +1122,13 @@
> # will consume more CPU.
> # Defaults to 1. (Since 5.0)
> #
> +# @zero-copy-send: Controls behavior on sending memory pages on migration.
> +# When true, enables a zero-copy mechanism for sending
> memory
> +# pages, if host supports it.
> +# Requires that QEMU be permitted to use locked memory for
> guest
> +# RAM pages.
> +# Defaults to false. (Since 7.1)
> +#
> # @block-bitmap-mapping: Maps block nodes and bitmaps on them to
> # aliases for the purpose of dirty bitmap migration.
> Such
> # aliases may for example be the corresponding names
> on the
> @@ -1158,6 +1181,7 @@
> '*multifd-compression': 'MultiFDCompression',
> '*multifd-zlib-level': 'uint8',
> '*multifd-zstd-level': 'uint8',
> + '*zero-copy-send': { 'type': 'bool', 'if': 'CONFIG_LINUX' },
> '*block-bitmap-mapping': [ 'BitmapMigrationNodeAlias' ] } }
>
> ##
[...]
- [PATCH v11 1/7] QIOChannel: Add flags on io_writev and introduce io_flush callback, (continued)
[PATCH v11 3/7] migration: Add zero-copy-send parameter for QMP/HMP for Linux, Leonardo Bras, 2022/05/04
- Re: [PATCH v11 3/7] migration: Add zero-copy-send parameter for QMP/HMP for Linux,
Markus Armbruster <=
[PATCH v11 4/7] migration: Add migrate_use_tls() helper, Leonardo Bras, 2022/05/04
[PATCH v11 5/7] multifd: multifd_send_sync_main now returns negative on error, Leonardo Bras, 2022/05/04
[PATCH v11 6/7] multifd: Send header packet without flags if zero-copy-send is enabled, Leonardo Bras, 2022/05/04
[PATCH v11 7/7] multifd: Implement zero copy write in multifd migration (multifd-zero-copy), Leonardo Bras, 2022/05/04