qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v1 1/1] migration/colo.c: migrate dirty ram pages before colo


From: Eric Blake
Subject: Re: [PATCH v1 1/1] migration/colo.c: migrate dirty ram pages before colo checkpoint
Date: Mon, 22 Jun 2020 12:23:47 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0

On 6/20/20 9:10 PM, Derek Su wrote:
To reduce the guest's downtime during checkpoint, migrate dirty
ram pages as many as possible before colo checkpoint.

If the iteration count reaches COLO_RAM_MIGRATE_ITERATION_MAX or
ram pending size is lower than 'x-colo-migrate-ram-threshold',
stop the ram migration and colo checkpoint.

Signed-off-by: Derek Su <dereksu@qnap.com>
---
  migration/colo.c       | 79 ++++++++++++++++++++++++++++++++++++++++++
  migration/migration.c  | 20 +++++++++++
  migration/trace-events |  2 ++
  monitor/hmp-cmds.c     |  8 +++++
  qapi/migration.json    | 18 ++++++++--
  5 files changed, 125 insertions(+), 2 deletions(-)

Focusing just on UI,


+++ b/qapi/migration.json
@@ -600,6 +600,9 @@
  # @x-checkpoint-delay: The delay time (in ms) between two COLO checkpoints in
  #                      periodic mode. (Since 2.8)
  #
+# @x-colo-migrate-ram-threshold: the threshold (in bytes) of the COLO ram 
migration's

Long line, please wrap prior to 80 columns.

+#                                pending size before COLO checkpoint. (Since 
5.0)

s/5.0/5.1/

+#
  # @block-incremental: Affects how much storage is migrated when the
  #                     block migration capability is enabled.  When false, the 
entire
  #                     storage backing chain is migrated into a flattened 
image at
@@ -651,7 +654,8 @@
             'cpu-throttle-initial', 'cpu-throttle-increment',
             'cpu-throttle-tailslow',
             'tls-creds', 'tls-hostname', 'tls-authz', 'max-bandwidth',
-           'downtime-limit', 'x-checkpoint-delay', 'block-incremental',
+           'downtime-limit', 'x-checkpoint-delay',
+           'x-colo-migrate-ram-threshold', 'block-incremental',
             'multifd-channels',
             'xbzrle-cache-size', 'max-postcopy-bandwidth',
             'max-cpu-throttle', 'multifd-compression',
@@ -740,6 +744,9 @@
  #
  # @x-checkpoint-delay: the delay time between two COLO checkpoints. (Since 
2.8)
  #
+# @x-colo-migrate-ram-threshold: the threshold in bytes of the COLO ram 
migration's
+#                                pending size before COLO checkpoint. (Since 
5.0)
+#

Ditto.


@@ -1116,12 +1128,14 @@
  #
  # @vmstate-loaded: VM's state has been loaded by SVM.
  #
+# @migrate-ram: Send dirty pages as many as possible before COLO checkpoint.
+#

Missing a notation that migrate-ram is since 5.1.

  # Since: 2.8
  ##
  { 'enum': 'COLOMessage',
    'data': [ 'checkpoint-ready', 'checkpoint-request', 'checkpoint-reply',
              'vmstate-send', 'vmstate-size', 'vmstate-received',
-            'vmstate-loaded' ] }
+            'vmstate-loaded', 'migrate-ram' ] }
##
  # @COLOMode:


--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org




reply via email to

[Prev in Thread] Current Thread [Next in Thread]