qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: Derek Su <dereksu@qnap.com>, qemu-devel@nongnu.org
Cc: zhang.zhanghailiang@huawei.com, chyang@qnap.com,
	quintela@redhat.com, dgilbert@redhat.com, ctcheng@qnap.com,
	jwsu1986@gmail.com
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	[thread overview]
Message-ID: <1c13571b-f980-138c-0e22-a36f49bb2ca8@redhat.com> (raw)
In-Reply-To: <20200621021004.5559-2-dereksu@qnap.com>

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	other threads:[~2020-06-22 17:24 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-21  2:10 [PATCH v1 0/1] COLO: migrate dirty ram pages before colo checkpoint Derek Su
2020-06-21  2:10 ` [PATCH v1 1/1] migration/colo.c: " Derek Su
2020-06-22 17:23   ` Eric Blake [this message]
2020-07-13  9:03   ` Derek Su
2020-07-31  7:52 ` [PATCH v1 0/1] COLO: " Lukas Straub
2020-07-31  9:00   ` Zhanghailiang
2020-08-13 10:27   ` Derek Su
2020-08-15  1:41     ` Zhanghailiang
2020-08-15  2:45       ` Derek Su

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1c13571b-f980-138c-0e22-a36f49bb2ca8@redhat.com \
    --to=eblake@redhat.com \
    --cc=chyang@qnap.com \
    --cc=ctcheng@qnap.com \
    --cc=dereksu@qnap.com \
    --cc=dgilbert@redhat.com \
    --cc=jwsu1986@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=zhang.zhanghailiang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).