From: Chao Fan <fanc.fnst@cn.fujitsu.com>
To: Juan Quintela <quintela@redhat.com>
Cc: eblake@redhat.com, dgilbert@redhat.com, qemu-devel@nongnu.org,
berrange@redhat.com, caoj.fnst@cn.fujitsu.com,
douly.fnst@cn.fujitsu.com, maozy.fnst@cn.fujitsu.com,
Li Zhijian <lizhijian@cn.fujitsu.com>
Subject: Re: [Qemu-devel] [PATCH] Output dirty-bytes-rate instead of dirty-pages-rate
Date: Tue, 14 Mar 2017 21:33:13 +0800 [thread overview]
Message-ID: <20170314133313.GC2473@localhost.localdomain> (raw)
In-Reply-To: <87o9x4t51k.fsf@secure.mitica>
On Tue, Mar 14, 2017 at 01:29:43PM +0100, Juan Quintela wrote:
>Chao Fan <fanc.fnst@cn.fujitsu.com> wrote:
>> In hmp, dirty-bytes-rate is more friendly than dirty-pages-rate.
>> It's also better for other tools to determine the cpu throttle
>> value in different architecture.
>>
>> Signed-off-by: Chao Fan <fanc.fnst@cn.fujitsu.com>
>> Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
>
>I agree with Daniel here, you can't change the meaning of a field. Look
>at skipped pages. It is zero know because it is not used anymore, but
>we can't drop it.
OK, I see.
Thank you very much.
>
>I think it is better to expose page_size. We have now
>
>trasferred: bytes
>total: bytes
>duplicate: number of zero pages
>skipped: always zero.
>normal: number of normal pages
>normal_bytes: the same in bytes
>mbps: megabytes per second? I can't even remember this one
>dirty_sync_count: number of times we have go through the whole memory
>postcopy_requests = number of pages asked by postcopy faults?
>dirty_pages_rate = pages by some kind of unit
>
>And we haven't yet started with compression or xbzrle. I think that the
>best approach at this point is putting everything in pages except the
>things that don't make sense.
>
>We can put everything on bytes, but then everything is HUGE.
Yes, it is.
>
>Anyways, what do libvirt/management apps preffer?
I think maybe both are OK.
About this issue, I will change my method to get the bytes.
Many thanks for your reply.
Thanks,
Chao Fan
>
>Later, Juan.
>
>
>> ---
>> hmp.c | 6 +++---
>> migration/migration.c | 2 +-
>> qapi-schema.json | 8 ++++----
>> 3 files changed, 8 insertions(+), 8 deletions(-)
>>
>> diff --git a/hmp.c b/hmp.c
>> index 261843f..7334bc5 100644
>> --- a/hmp.c
>> +++ b/hmp.c
>> @@ -215,9 +215,9 @@ void hmp_info_migrate(Monitor *mon, const QDict *qdict)
>> info->ram->normal_bytes >> 10);
>> monitor_printf(mon, "dirty sync count: %" PRIu64 "\n",
>> info->ram->dirty_sync_count);
>> - if (info->ram->dirty_pages_rate) {
>> - monitor_printf(mon, "dirty pages rate: %" PRIu64 " pages\n",
>> - info->ram->dirty_pages_rate);
>> + if (info->ram->dirty_bytes_rate) {
>> + monitor_printf(mon, "dirty bytes rate: %" PRIu64 " bytes/s\n",
>> + info->ram->dirty_bytes_rate);
>> }
>> if (info->ram->postcopy_requests) {
>> monitor_printf(mon, "postcopy request count: %" PRIu64 "\n",
>> diff --git a/migration/migration.c b/migration/migration.c
>> index 3dab684..7e7b62c 100644
>> --- a/migration/migration.c
>> +++ b/migration/migration.c
>> @@ -648,7 +648,7 @@ static void populate_ram_info(MigrationInfo *info, MigrationState *s)
>>
>> if (s->state != MIGRATION_STATUS_COMPLETED) {
>> info->ram->remaining = ram_bytes_remaining();
>> - info->ram->dirty_pages_rate = s->dirty_pages_rate;
>> + info->ram->dirty_bytes_rate = s->dirty_bytes_rate;
>> }
>> }
>>
>> diff --git a/qapi-schema.json b/qapi-schema.json
>> index 32b4a4b..83a45f8 100644
>> --- a/qapi-schema.json
>> +++ b/qapi-schema.json
>> @@ -565,9 +565,6 @@
>> #
>> # @normal-bytes: number of normal bytes sent (since 1.2)
>> #
>> -# @dirty-pages-rate: number of pages dirtied by second by the
>> -# guest (since 1.3)
>> -#
>> # @mbps: throughput in megabits/sec. (since 1.6)
>> #
>> # @dirty-sync-count: number of times that dirty ram was synchronized (since 2.1)
>> @@ -575,12 +572,15 @@
>> # @postcopy-requests: The number of page requests received from the destination
>> # (since 2.7)
>> #
>> +# @dirty-bytes-rate: how many bytes dirtied by second by the
>> +# guest (since 2.9)
>> +#
>> # Since: 0.14.0
>> ##
>> { 'struct': 'MigrationStats',
>> 'data': {'transferred': 'int', 'remaining': 'int', 'total': 'int' ,
>> 'duplicate': 'int', 'skipped': 'int', 'normal': 'int',
>> - 'normal-bytes': 'int', 'dirty-pages-rate' : 'int',
>> + 'normal-bytes': 'int', 'dirty-bytes-rate' : 'int',
>> 'mbps' : 'number', 'dirty-sync-count' : 'int',
>> 'postcopy-requests' : 'int' } }
>
>
next prev parent reply other threads:[~2017-03-14 13:33 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-14 10:27 [Qemu-devel] [PATCH] Output dirty-bytes-rate instead of dirty-pages-rate Chao Fan
2017-03-14 10:45 ` Daniel P. Berrange
2017-03-14 11:51 ` Chao Fan
2017-03-14 12:29 ` Juan Quintela
2017-03-14 12:37 ` Daniel P. Berrange
2017-03-14 13:20 ` Chao Fan
2017-03-15 4:13 ` Chao Fan
2017-03-15 9:42 ` Daniel P. Berrange
2017-03-14 13:33 ` Chao Fan [this message]
2017-03-14 14:54 ` Eric Blake
2017-03-14 15:40 ` Chao Fan
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=20170314133313.GC2473@localhost.localdomain \
--to=fanc.fnst@cn.fujitsu.com \
--cc=berrange@redhat.com \
--cc=caoj.fnst@cn.fujitsu.com \
--cc=dgilbert@redhat.com \
--cc=douly.fnst@cn.fujitsu.com \
--cc=eblake@redhat.com \
--cc=lizhijian@cn.fujitsu.com \
--cc=maozy.fnst@cn.fujitsu.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 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).