All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: Juan Quintela <quintela@redhat.com>, qemu-devel@nongnu.org
Cc: lvivier@redhat.com, dgilbert@redhat.com, peterx@redhat.com
Subject: Re: [Qemu-devel] [PATCH 3/5] migration: Print statistics about the number of remaining target pages
Date: Fri, 2 Jun 2017 10:15:41 -0500	[thread overview]
Message-ID: <6d275b7f-5f31-0f41-21e4-4d1abe96d7f7@redhat.com> (raw)
In-Reply-To: <20170601220813.30535-4-quintela@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 2727 bytes --]

On 06/01/2017 05:08 PM, Juan Quintela wrote:
> Signed-off-by: Juan Quintela <quintela@redhat.com>
> ---
>  migration/migration.c | 4 +++-
>  migration/ram.c       | 4 ++--
>  migration/ram.h       | 2 +-
>  qapi-schema.json      | 6 +++++-
>  4 files changed, 11 insertions(+), 5 deletions(-)
> 
> diff --git a/migration/migration.c b/migration/migration.c
> index ea3d41c..2c13217 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -518,7 +518,9 @@ static void populate_ram_info(MigrationInfo *info, MigrationState *s)
>      }
>  
>      if (s->state != MIGRATION_STATUS_COMPLETED) {
> -        info->ram->remaining = ram_bytes_remaining();
> +        info->ram->remaining_pages = ram_pages_remaining();
> +        info->ram->remaining = ram_pages_remaining() *
> +            qemu_target_page_size();

Why not the opposite direction, of:

info->ram->remaining_pages = ram_bytes_remaining() /
qemu_target_page_size();
info->ram->remaining = ram_bytes_remaining();

?

> +++ b/migration/ram.h
> @@ -41,7 +41,7 @@ uint64_t xbzrle_mig_pages_cache_miss(void);
>  double xbzrle_mig_cache_miss_rate(void);
>  uint64_t xbzrle_mig_pages_overflow(void);
>  uint64_t ram_bytes_transferred(void);
> -uint64_t ram_bytes_remaining(void);
> +uint64_t ram_pages_remaining(void);
>  uint64_t ram_dirty_sync_count(void);
>  uint64_t ram_dirty_pages_rate(void);
>  uint64_t ram_postcopy_requests(void);

I know we already have a mishmash of which interfaces are byte-based vs.
page-based, but using byte-based everywhere seems like a better goal,
and this feels like we are going backwards from that goal.

> diff --git a/qapi-schema.json b/qapi-schema.json
> index 4b50b65..ff1c048 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -601,6 +601,9 @@
>  # @page-size: The number of bytes per page for the various page-based
>  #        statistics (since 2.10)
>  #
> +# @remaining-pages: amount of pages remaining to be transferred to the target VM
> +#        (since 2.10)
> +#
>  # Since: 0.14.0
>  ##
>  { 'struct': 'MigrationStats',
> @@ -608,7 +611,8 @@
>             'duplicate': 'int', 'skipped': 'int', 'normal': 'int',
>             'normal-bytes': 'int', 'dirty-pages-rate' : 'int',
>             'mbps' : 'number', 'dirty-sync-count' : 'int',
> -           'postcopy-requests' : 'int', 'page-size' : 'int' } }
> +           'postcopy-requests' : 'int', 'page-size' : 'int',
> +           'remaining-pages' : 'int' } }

We already have 'remaining'; why do we need a redundant stat
'remaining-pages'?

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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

  reply	other threads:[~2017-06-02 15:15 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-01 22:08 [Qemu-devel] [PATCH 0/5] Make RAMState dynamic Juan Quintela
2017-06-01 22:08 ` [Qemu-devel] [PATCH 1/5] ram: Call migration_page_queue_free() at ram_migration_cleanup() Juan Quintela
2017-06-05 11:24   ` Dr. David Alan Gilbert
2017-06-06  7:58   ` Peter Xu
2017-06-01 22:08 ` [Qemu-devel] [PATCH 2/5] ram: Move ZERO_TARGET_PAGE inside XBZRLE Juan Quintela
2017-06-05 11:27   ` Dr. David Alan Gilbert
2017-06-06  7:59   ` Peter Xu
2017-06-01 22:08 ` [Qemu-devel] [PATCH 3/5] migration: Print statistics about the number of remaining target pages Juan Quintela
2017-06-02 15:15   ` Eric Blake [this message]
2017-06-02 16:36     ` Juan Quintela
2017-06-06 17:48     ` Juan Quintela
2017-06-01 22:08 ` [Qemu-devel] [PATCH 4/5] ram: Use MigrationStats for statistics Juan Quintela
2017-06-05 12:34   ` Dr. David Alan Gilbert
2017-06-06  8:05     ` Peter Xu
2017-06-06 17:33       ` Juan Quintela
2017-06-07  3:08         ` Peter Xu
2017-06-01 22:08 ` [Qemu-devel] [PATCH 5/5] ram: Make RAMState dynamic Juan Quintela
2017-06-05 15:00   ` Dr. David Alan Gilbert
2017-06-06  8:16   ` Peter Xu
2017-06-06 17:39     ` Juan Quintela

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=6d275b7f-5f31-0f41-21e4-4d1abe96d7f7@redhat.com \
    --to=eblake@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=peterx@redhat.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.