diff mbox

[v3,11/13] migration: Add interface to control compression

Message ID 1418347746-15829-12-git-send-email-liang.z.li@intel.com
State New
Headers show

Commit Message

Li, Liang Z Dec. 12, 2014, 1:29 a.m. UTC
The multiple compression threads can be turned on/off through
qmp and hmp interface when doing live migration.

Signed-off-by: Liang Li <liang.z.li@intel.com>
Signed-off-by: Yang Zhang <yang.z.zhang@intel.com>
---
 migration.c      | 7 +++++--
 qapi-schema.json | 6 +++++-
 2 files changed, 10 insertions(+), 3 deletions(-)

Comments

Dr. David Alan Gilbert Jan. 23, 2015, 1:44 p.m. UTC | #1
* Liang Li (liang.z.li@intel.com) wrote:
> The multiple compression threads can be turned on/off through
> qmp and hmp interface when doing live migration.
> 
> Signed-off-by: Liang Li <liang.z.li@intel.com>
> Signed-off-by: Yang Zhang <yang.z.zhang@intel.com>
> ---
>  migration.c      | 7 +++++--
>  qapi-schema.json | 6 +++++-
>  2 files changed, 10 insertions(+), 3 deletions(-)
> 

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

> diff --git a/migration.c b/migration.c
> index 082ddb7..9d1613d 100644
> --- a/migration.c
> +++ b/migration.c
> @@ -576,8 +576,11 @@ bool migrate_zero_blocks(void)
>  
>  bool migrate_use_compression(void)
>  {
> -    /* Disable compression before the series of patches 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 9ffdcf8..d371af3 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -491,13 +491,17 @@
>  #          to enable the capability on the source VM. The feature is disabled by
>  #          default. (since 1.6)
>  #
> +# @compress: Using the multiple compression threads to accelerate live migration.
> +#          This feature can help to reduce the migration traffic, by sending
> +#          compressed pages. The feature is disabled by default. (since 2.3)
> +#
>  # @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
> -- 
> 1.8.3.1
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
Eric Blake Jan. 23, 2015, 3:26 p.m. UTC | #2
On 12/11/2014 06:29 PM, Liang Li wrote:
> The multiple compression threads can be turned on/off through
> qmp and hmp interface when doing live migration.
> 
> Signed-off-by: Liang Li <liang.z.li@intel.com>
> Signed-off-by: Yang Zhang <yang.z.zhang@intel.com>
> ---

> +++ b/qapi-schema.json
> @@ -491,13 +491,17 @@
>  #          to enable the capability on the source VM. The feature is disabled by
>  #          default. (since 1.6)
>  #
> +# @compress: Using the multiple compression threads to accelerate live migration.

s/Using the/Use/

> +  'data': ['xbzrle', 'rdma-pin-all', 'auto-converge', 'zero-blocks', 'compress'] }

Long line.  Please wrap to keep things under 80 columns.
diff mbox

Patch

diff --git a/migration.c b/migration.c
index 082ddb7..9d1613d 100644
--- a/migration.c
+++ b/migration.c
@@ -576,8 +576,11 @@  bool migrate_zero_blocks(void)
 
 bool migrate_use_compression(void)
 {
-    /* Disable compression before the series of patches 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 9ffdcf8..d371af3 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -491,13 +491,17 @@ 
 #          to enable the capability on the source VM. The feature is disabled by
 #          default. (since 1.6)
 #
+# @compress: Using the multiple compression threads to accelerate live migration.
+#          This feature can help to reduce the migration traffic, by sending
+#          compressed pages. The feature is disabled by default. (since 2.3)
+#
 # @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