aboutsummaryrefslogtreecommitdiff
path: root/qapi-schema.json
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2015-05-07 18:22:03 +0100
committerPeter Maydell <peter.maydell@linaro.org>2015-05-07 18:22:03 +0100
commit838686357b1a175e9a32569700a153b207a9e10f (patch)
tree84678cfdd3692484aeb59375e002bb9f32bef10a /qapi-schema.json
parent38003aee196a96edccd4d64471beb1b67e9b2b17 (diff)
parent362ba4e3ee801e8f5e28d72d0009547384222927 (diff)
Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20150507-1' into staging
migration/next for 20150507 # gpg: Signature made Thu May 7 17:42:19 2015 BST using RSA key ID 5872D723 # gpg: Good signature from "Juan Quintela <quintela@redhat.com>" # gpg: aka "Juan Quintela <quintela@trasno.org>" * remotes/juanquintela/tags/migration/20150507-1: migration: Fix migration state update issue migration: avoid divide by zero in xbzrle cache miss rate migration: Add hmp interface to set and query parameters migration: Add qmp commands to set and query parameters migration: Use an array instead of 3 parameters migration: Add interface to control compression migration: Add the core code for decompression migration: Make compression co-work with xbzrle migration: Add the core code of multi-thread compression migration: Split save_zero_page from ram_save_page arch_init: Add and free data struct for decompression arch_init: Alloc and free data struct for compression qemu-file: Add compression functions to QEMUFile migration: Add the framework of multi-thread decompression migration: Add the framework of multi-thread compression docs: Add a doc about multiple thread compression Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'qapi-schema.json')
-rw-r--r--qapi-schema.json79
1 files changed, 78 insertions, 1 deletions
diff --git a/qapi-schema.json b/qapi-schema.json
index 27ec9882db..9c92482898 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -515,13 +515,22 @@
# to enable the capability on the source VM. The feature is disabled by
# default. (since 1.6)
#
+# @compress: Use multiple compression threads to accelerate live migration.
+# This feature can help to reduce the migration traffic, by sending
+# compressed pages. Please note that if compress and xbzrle are both
+# on, compress only takes effect in the ram bulk stage, after that,
+# it will be disabled and only xbzrle takes effect, this can help to
+# minimize migration traffic. The feature is disabled by default.
+# (since 2.4 )
+#
# @auto-converge: If enabled, QEMU will automatically throttle down the guest
# to speed up convergence of RAM migration. (since 1.6)
#
# Since: 1.2
##
{ 'enum': 'MigrationCapability',
- 'data': ['xbzrle', 'rdma-pin-all', 'auto-converge', 'zero-blocks'] }
+ 'data': ['xbzrle', 'rdma-pin-all', 'auto-converge', 'zero-blocks',
+ 'compress'] }
##
# @MigrationCapabilityStatus
@@ -560,6 +569,74 @@
##
{ 'command': 'query-migrate-capabilities', 'returns': ['MigrationCapabilityStatus']}
+# @MigrationParameter
+#
+# Migration parameters enumeration
+#
+# @compress-level: Set the compression level to be used in live migration,
+# the compression level is an integer between 0 and 9, where 0 means
+# no compression, 1 means the best compression speed, and 9 means best
+# compression ratio which will consume more CPU.
+#
+# @compress-threads: Set compression thread count to be used in live migration,
+# the compression thread count is an integer between 1 and 255.
+#
+# @decompress-threads: Set decompression thread count to be used in live
+# migration, the decompression thread count is an integer between 1
+# and 255. Usually, decompression is at least 4 times as fast as
+# compression, so set the decompress-threads to the number about 1/4
+# of compress-threads is adequate.
+#
+# Since: 2.4
+##
+{ 'enum': 'MigrationParameter',
+ 'data': ['compress-level', 'compress-threads', 'decompress-threads'] }
+
+#
+# @migrate-set-parameters
+#
+# Set the following migration parameters
+#
+# @compress-level: compression level
+#
+# @compress-threads: compression thread count
+#
+# @decompress-threads: decompression thread count
+#
+# Since: 2.4
+##
+{ 'command': 'migrate-set-parameters',
+ 'data': { '*compress-level': 'int',
+ '*compress-threads': 'int',
+ '*decompress-threads': 'int'} }
+
+#
+# @MigrationParameters
+#
+# @compress-level: compression level
+#
+# @compress-threads: compression thread count
+#
+# @decompress-threads: decompression thread count
+#
+# Since: 2.4
+##
+{ 'struct': 'MigrationParameters',
+ 'data': { 'compress-level': 'int',
+ 'compress-threads': 'int',
+ 'decompress-threads': 'int'} }
+##
+# @query-migrate-parameters
+#
+# Returns information about the current migration parameters
+#
+# Returns: @MigrationParameters
+#
+# Since: 2.4
+##
+{ 'command': 'query-migrate-parameters',
+ 'returns': 'MigrationParameters' }
+
##
# @MouseInfo:
#