[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH RFC 01/12] migration: Add multiRDMA capability support
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [PATCH RFC 01/12] migration: Add multiRDMA capability support |
Date: |
Wed, 15 Jan 2020 18:09:07 +0000 |
User-agent: |
Mutt/1.13.0 (2019-11-30) |
* Zhimin Feng (address@hidden) wrote:
> From: fengzhimin <address@hidden>
>
> Signed-off-by: fengzhimin <address@hidden>
Instead of creating x-multirdma as a capability and the corresponding
parameter for the number of channels; it would be better just
to use the multifd parameters when used with an rdma transport;
as far as I know multifd doesn't work with rdma at the moment,
and to the user the idea of multifd over rdma is just the same thing.
Dave
> ---
> migration/migration.c | 11 +++++++++++
> migration/migration.h | 1 +
> qapi/migration.json | 4 +++-
> 3 files changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/migration/migration.c b/migration/migration.c
> index 354ad072fa..e98e236ef9 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -2176,6 +2176,15 @@ bool migrate_use_events(void)
> return s->enabled_capabilities[MIGRATION_CAPABILITY_EVENTS];
> }
>
> +bool migrate_use_multiRDMA(void)
> +{
> + MigrationState *s;
> +
> + s = migrate_get_current();
> +
> + return s->enabled_capabilities[MIGRATION_CAPABILITY_MULTIRDMA];
> +}
> +
> bool migrate_use_multifd(void)
> {
> MigrationState *s;
> @@ -3509,6 +3518,8 @@ static Property migration_properties[] = {
> DEFINE_PROP_MIG_CAP("x-block", MIGRATION_CAPABILITY_BLOCK),
> DEFINE_PROP_MIG_CAP("x-return-path", MIGRATION_CAPABILITY_RETURN_PATH),
> DEFINE_PROP_MIG_CAP("x-multifd", MIGRATION_CAPABILITY_MULTIFD),
> + DEFINE_PROP_MIG_CAP("x-multirdma",
> + MIGRATION_CAPABILITY_MULTIRDMA),
>
> DEFINE_PROP_END_OF_LIST(),
> };
> diff --git a/migration/migration.h b/migration/migration.h
> index 79b3dda146..bb488028a6 100644
> --- a/migration/migration.h
> +++ b/migration/migration.h
> @@ -296,6 +296,7 @@ bool migrate_ignore_shared(void);
> bool migrate_validate_uuid(void);
>
> bool migrate_auto_converge(void);
> +bool migrate_use_multiRDMA(void);
> bool migrate_use_multifd(void);
> bool migrate_pause_before_switchover(void);
> int migrate_multifd_channels(void);
> diff --git a/qapi/migration.json b/qapi/migration.json
> index b7348d0c8b..c995ffdc4c 100644
> --- a/qapi/migration.json
> +++ b/qapi/migration.json
> @@ -421,6 +421,8 @@
> # @validate-uuid: Send the UUID of the source to allow the destination
> # to ensure it is the same. (since 4.2)
> #
> +# @multirdma: Use more than one channels for rdma migration. (since 4.2)
> +#
> # Since: 1.2
> ##
> { 'enum': 'MigrationCapability',
> @@ -428,7 +430,7 @@
> 'compress', 'events', 'postcopy-ram', 'x-colo', 'release-ram',
> 'block', 'return-path', 'pause-before-switchover', 'multifd',
> 'dirty-bitmaps', 'postcopy-blocktime', 'late-block-activate',
> - 'x-ignore-shared', 'validate-uuid' ] }
> + 'x-ignore-shared', 'validate-uuid', 'multirdma' ] }
>
> ##
> # @MigrationCapabilityStatus:
> --
> 2.19.1
>
>
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK
[PATCH RFC 02/12] migration: Export the 'migration_incoming_setup' function and add the 'migrate_use_rdma_pin_all' function, Zhimin Feng, 2020/01/09