summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiang Li <liang.z.li@intel.com>2015-03-23 16:32:26 +0800
committerJuan Quintela <quintela@redhat.com>2015-05-07 18:31:53 +0200
commitdde4e694ae576462990b2ce711e62565e085c261 (patch)
tree09b4ce992357fcab70973c811f91b39c1ca79fb9
parent68ae113646dc84637359472e89669e5547dc5ee3 (diff)
downloadhqemu-dde4e694ae576462990b2ce711e62565e085c261.zip
hqemu-dde4e694ae576462990b2ce711e62565e085c261.tar.gz
migration: Add interface to control compression
The multiple compression threads can be turned on/off through qmp and hmp interface before doing live migration. Signed-off-by: Liang Li <liang.z.li@intel.com> Signed-off-by: Yang Zhang <yang.z.zhang@intel.com> Reviewed-by: Dr.David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
-rw-r--r--migration/migration.c7
-rw-r--r--qapi-schema.json11
2 files changed, 15 insertions, 3 deletions
diff --git a/migration/migration.c b/migration/migration.c
index 19409e6..dc7db87 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -611,8 +611,11 @@ bool migrate_zero_blocks(void)
bool migrate_use_compression(void)
{
- /* Disable compression before the patch series are applied */
- return false;
+ MigrationState *s;
+
+ s = migrate_get_current();
+
+ return s->enabled_capabilities[MIGRATION_CAPABILITY_COMPRESS];
}
int migrate_compress_level(void)
diff --git a/qapi-schema.json b/qapi-schema.json
index 27ec988..83f0b4a 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
OpenPOWER on IntegriCloud