qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 3/5] migration: Print statistics about the numbe


From: Eric Blake
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
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0

On 06/01/2017 05:08 PM, Juan Quintela wrote:
> Signed-off-by: Juan Quintela <address@hidden>
> ---
>  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: signature.asc
Description: OpenPGP digital signature


reply via email to

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