[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/5] migration: Modified 'migrate' QAPI command for migration
From: |
Claudio Fontana |
Subject: |
Re: [PATCH 0/5] migration: Modified 'migrate' QAPI command for migration |
Date: |
Tue, 17 Jan 2023 11:52:44 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0 |
Hi,
On 12/26/22 06:33, Het Gala wrote:
> Current QAPI 'migrate' command design (for initiating a migration
> stream) contains information regarding different migrate transport mechanism
> (tcp / unix / exec), dest-host IP address, and binding port number in form of
> a string. Thus the design does seem to have some design issues. Some of the
> issues, stated below are:
>
> 1. Use of string URIs is a data encoding scheme within a data encoding scheme.
> QEMU code should directly be able to work with the results from QAPI,
> without resorting to do a second level of parsing (eg. socket_parse()).
> 2. For features / parameters related to migration, the migration tunables
> needs
> to be defined and updated upfront. For example, 'migrate-set-capability'
> and 'migrate-set-parameter' is required to enable multifd capability and
> multifd-number of channels respectively. Instead, 'Multifd-channels' can
> directly be represented as a single additional parameter to 'migrate'
> QAPI. 'migrate-set-capability' and 'migrate-set-parameter' commands could
> be used for runtime tunables that need setting after migration has already
> started.
Is efficient and parallel migration to file of large VMs in scope for this
design?
Thanks,
Claudio
>
> The current patchset focuses on solving the first problem of multi-level
> encoding of URIs. The patch defines 'migrate' command as a QAPI discriminated
> union for the various transport backends (like socket, exec and rdma), and on
> basis of transport backends, different migration parameters are defined.
>
> (uri) string --> (channel) Channel-type
> Transport-type
> Migration parameters based on transport type
>
> -----------------------------------------------------------------------------
>
> Author Het Gala (5):
> migration: Updated QAPI format for 'migrate' qemu monitor command
> migration: HMP side changes for modified 'migrate' QAPI design
> migration: Avoid multiple parsing of uri in migration code flow
> migration: Modified 'migrate-incoming' QAPI and HMP side changes on
> the destination interface.
> migration: Established connection for listener sockets on the dest
> interface
>
> migration/migration.c | 133 +++++++++++++++++++++++++++++----------
> migration/socket.c | 31 +--------
> migration/socket.h | 5 +-
> monitor/hmp-cmds.c | 101 ++++++++++++++++++++++++++++-
> qapi/migration.json | 143 ++++++++++++++++++++++++++++++++++++++++--
> softmmu/vl.c | 2 +-
> 6 files changed, 344 insertions(+), 71 deletions(-)
>