Gonglei <[email protected]> writes:
> From: Jialin Wang <[email protected]>
>
> The new RDMA live migration will be introduced in the upcoming
> few commits.
>
> Signed-off-by: Jialin Wang <[email protected]>
> Signed-off-by: Gonglei <[email protected]>
[...]
> diff --git a/qapi/migration.json b/qapi/migration.json
> index a351fd3714..4d7d49bfec 100644
> --- a/qapi/migration.json
> +++ b/qapi/migration.json
> @@ -210,9 +210,9 @@
> #
> # @setup-time: amount of setup time in milliseconds *before* the
> # iterations begin but *after* the QMP command is issued. This is
> -# designed to provide an accounting of any activities (such as
> -# RDMA pinning) which may be expensive, but do not actually occur
> -# during the iterative migration rounds themselves. (since 1.6)
> +# designed to provide an accounting of any activities which may be
> +# expensive, but do not actually occur during the iterative migration
> +# rounds themselves. (since 1.6)
I guess the new RDMA migration code will not do RDMA pinning. Correct?
> #
> # @cpu-throttle-percentage: percentage of time guest cpus are being
> # throttled during auto-converge. This is only present when
> @@ -378,10 +378,6 @@
> # for certain work loads, by sending compressed difference of the
> # pages
> #
> -# @rdma-pin-all: Controls whether or not the entire VM memory
> -# footprint is mlock()'d on demand or all at once. Refer to
> -# docs/rdma.txt for usage. Disabled by default. (since 2.0)
> -#
> # @zero-blocks: During storage migration encode blocks of zeroes
> # efficiently. This essentially saves 1MB of zeroes per block on
> # the wire. Enabling requires source and target VM to support
> @@ -476,7 +472,7 @@
> # Since: 1.2
> ##
> { 'enum': 'MigrationCapability',
> - 'data': ['xbzrle', 'rdma-pin-all', 'auto-converge', 'zero-blocks',
> + 'data': ['xbzrle', 'auto-converge', 'zero-blocks',
> 'events', 'postcopy-ram',
> { 'name': 'x-colo', 'features': [ 'unstable' ] },
> 'release-ram',
I guess you remove @rdma-pin-all, because it makes no sense with the new
migration code. However, this is an incompatible change.
Here's the orderly way to remove it:
1. Document it doesn't do anything anymore, and deprecate it.
2. Remove after the deprecation grace period (two releases, see
docs/about/deprecated.rst.
> @@ -533,7 +529,6 @@
> # -> { "execute": "query-migrate-capabilities" }
> # <- { "return": [
> # {"state": false, "capability": "xbzrle"},
> -# {"state": false, "capability": "rdma-pin-all"},
> # {"state": false, "capability": "auto-converge"},
> # {"state": false, "capability": "zero-blocks"},
> # {"state": true, "capability": "events"},
[...]