[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 11/16] migration: Add interface to control compressio
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PULL 11/16] migration: Add interface to control compression |
Date: |
Thu, 7 May 2015 18:46:11 +0200 |
From: Liang Li <address@hidden>
The multiple compression threads can be turned on/off through
qmp and hmp interface before doing live migration.
Signed-off-by: Liang Li <address@hidden>
Signed-off-by: Yang Zhang <address@hidden>
Reviewed-by: Dr.David Alan Gilbert <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Juan Quintela <address@hidden>
---
migration/migration.c | 7 +++++--
qapi-schema.json | 11 ++++++++++-
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
--
2.4.0
- [Qemu-devel] [PULL 04/16] qemu-file: Add compression functions to QEMUFile, (continued)
- [Qemu-devel] [PULL 04/16] qemu-file: Add compression functions to QEMUFile, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 03/16] migration: Add the framework of multi-thread decompression, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 05/16] arch_init: Alloc and free data struct for compression, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 06/16] arch_init: Add and free data struct for decompression, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 07/16] migration: Split save_zero_page from ram_save_page, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 09/16] migration: Make compression co-work with xbzrle, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 08/16] migration: Add the core code of multi-thread compression, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 10/16] migration: Add the core code for decompression, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 11/16] migration: Add interface to control compression,
Juan Quintela <=
- [Qemu-devel] [PULL 12/16] migration: Use an array instead of 3 parameters, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 15/16] migration: avoid divide by zero in xbzrle cache miss rate, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 13/16] migration: Add qmp commands to set and query parameters, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 16/16] migration: Fix migration state update issue, Juan Quintela, 2015/05/07
- [Qemu-devel] [PULL 14/16] migration: Add hmp interface to set and query parameters, Juan Quintela, 2015/05/07
- Re: [Qemu-devel] [PULL 00/16] Migration pull requset (take 3), Peter Maydell, 2015/05/07