All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Andrei Gudkov <gudkov.andrei@huawei.com>
Cc: qemu-devel@nongnu.org, quintela@redhat.com, dgilbert@redhat.com
Subject: Re: [PATCH 1/2] migration/calc-dirty-rate: new metrics in sampling mode
Date: Tue, 18 Apr 2023 18:11:43 +0100	[thread overview]
Message-ID: <ZD7PT/p57Gliq2eB@redhat.com> (raw)
In-Reply-To: <dfd184b23d062a6ea92a2cc6237e6b76301f37b9.1677589218.git.gudkov.andrei@huawei.com>

On Tue, Feb 28, 2023 at 04:16:02PM +0300, Andrei Gudkov via wrote:
> * Collect number of all-zero pages
> * Collect vector of number of dirty pages for different time periods
> * Report total number of pages, number of sampled pages and page size
> * Replaced CRC32 with xxHash for performance reasons

I'd suggest that the CRC32 -> xxHash change should be a separate
commit from the newly reported statistics, since they're independant
functional changes.

> 
> Signed-off-by: Andrei Gudkov <gudkov.andrei@huawei.com>
> ---
>  migration/dirtyrate.c | 219 +++++++++++++++++++++++++++++++++---------
>  migration/dirtyrate.h |  26 ++++-
>  qapi/migration.json   |  25 +++++
>  3 files changed, 218 insertions(+), 52 deletions(-)

> diff --git a/qapi/migration.json b/qapi/migration.json
> index c84fa10e86..1a1d7cb30a 100644
> --- a/qapi/migration.json
> +++ b/qapi/migration.json
> @@ -1830,6 +1830,25 @@
>  # @mode: mode containing method of calculate dirtyrate includes
>  #        'page-sampling' and 'dirty-ring' (Since 6.2)
>  #
> +# @page-size: page size in bytes
> +#
> +# @n-total-pages: total number of VM pages
> +#
> +# @n-sampled-pages: number of sampled pages
> +#
> +# @n-zero-pages: number of observed zero pages among all sampled pages.
> +#                Normally all pages are zero when VM starts, but
> +#                their number progressively goes down as VM fills more
> +#                and more memory with useful data.
> +#                Migration of zero pages is optimized: only their headers
> +#                are copied but not the (zero) data.
> +#
> +# @periods: array of time periods expressed in milliseconds for which
> +#           dirty-sample measurements are collected
> +#
> +# @n-dirty-pages: number of pages among all sampled pages that were observed
> +#                 as changed after respective time period
> +#

Each field addition needs a "(Since ....)" tag with QEMU version

The docs probably ought to be explicit that the size of @periods
array is the same as @n-dirty-pages array.

>  # @vcpu-dirty-rate: dirtyrate for each vcpu if dirty-ring
>  #                   mode specified (Since 6.2)
>  #
> @@ -1842,6 +1861,12 @@
>             'calc-time': 'int64',
>             'sample-pages': 'uint64',
>             'mode': 'DirtyRateMeasureMode',
> +           'page-size': 'int64',
> +           '*n-total-pages': 'int64',
> +           '*n-sampled-pages': 'int64',
> +           '*n-zero-pages': 'int64',
> +           '*periods': ['int64'],
> +           '*n-dirty-pages': ['int64'],
>             '*vcpu-dirty-rate': [ 'DirtyRateVcpu' ] } }
>  
>  ##
> -- 
> 2.30.2
> 
> 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



  reply	other threads:[~2023-04-18 17:12 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-28 13:16 [PATCH 0/2] Migration time prediction using calc-dirty-rate Andrei Gudkov via
2023-02-28 13:16 ` [PATCH 1/2] migration/calc-dirty-rate: new metrics in sampling mode Andrei Gudkov via
2023-04-18 17:11   ` Daniel P. Berrangé [this message]
2023-02-28 13:16 ` [PATCH 2/2] migration/calc-dirty-rate: tool to predict migration time Andrei Gudkov via
2023-03-17 13:29 ` [PATCH 0/2] Migration time prediction using calc-dirty-rate Gudkov Andrei via
2023-03-27 14:08 ` Gudkov Andrei via
2023-04-03 14:41 ` Gudkov Andrei via
2023-04-10 15:19 ` Gudkov Andrei via
2023-04-18 13:25 ` Gudkov Andrei via
2023-04-18 17:21   ` Daniel P. Berrangé
2023-04-18 17:17 ` Daniel P. Berrangé
2023-04-27 13:51   ` Gudkov Andrei via

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=ZD7PT/p57Gliq2eB@redhat.com \
    --to=berrange@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=gudkov.andrei@huawei.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.