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(-)
> 


Reply via email to