qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Zheng Chuan <zhengchuan@huawei.com>
To: "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Eric Blake <eblake@redhat.com>
Cc: berrange@redhat.com, zhang.zhanghailiang@huawei.com,
	quintela@redhat.com, liq3ea@gmail.com, qemu-devel@nongnu.org,
	xiexiangyou@huawei.com, alex.chen@huawei.com
Subject: Re: [PATCH v10 11/12] migration/dirtyrate: Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() function
Date: Thu, 24 Sep 2020 16:42:04 +0800	[thread overview]
Message-ID: <2135c7e9-495e-e38b-a5a9-c82f8bba42d3@huawei.com> (raw)
In-Reply-To: <20200923190355.GD2780@work-vm>



On 2020/9/24 3:03, Dr. David Alan Gilbert wrote:
> * Eric Blake (eblake@redhat.com) wrote:
>> On 9/16/20 1:22 AM, Chuan Zheng wrote:
>>> Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() function which could be called
>>>
>>> Signed-off-by: Chuan Zheng <zhengchuan@huawei.com>
>>> ---
>>
>>> +++ b/qapi/migration.json
>>> @@ -1737,3 +1737,53 @@
>>>   ##
>>>   { 'enum': 'DirtyRateStatus',
>>>     'data': [ 'unstarted', 'measuring', 'measured'] }
>>> +
>>> +##
>>> +# @DirtyRateInfo:
>>> +#
>>> +# Information about current dirty page rate of vm.
>>> +#
>>> +# @dirty-rate: @dirtyrate describing the dirty page rate of vm
>>> +#          in units of MB/s.
>>> +#          If this field return '-1', it means querying is not
>>> +#          start or not complete.
>>
>> Grammar:
>>
>> it means querying has not yet started or completed.
>>
>> Should this field instead be optional, and omitted for those cases?  In
>> which case, I'd suggest:
>>
>> ...in units of MB/s, present only when querying the rate has completed.
> 
Hi, Eric.
Thanks for your review.
Yeah, it could be optional.
and should it need keep start-time and calc-time when omit dirtyrate?
like:
{"return":{"status":"measuring","start-time":3718293,"calc-time":1},"id":"libvirt-15"}
or
{"return":{"status":"unstarted","start-time":3718293,"calc-time":1},"id":"libvirt-15"}

> I've already got it queued; I'll fix up the grammar; if someone wants to
> send a change to make it optional before this version freezes that's OK.
> 
> Dave
> 
>>
>>> +#
>>> +# @status: status containing dirtyrate query status includes
>>> +#          'unstarted' or 'measuring' or 'measured'
>>> +#
>>> +# @start-time: start time in units of second for calculation
>>> +#
>>> +# @calc-time: time in units of second for sample dirty pages
>>> +#
>>> +# Since: 5.2
>>> +#
>>> +##
>>> +{ 'struct': 'DirtyRateInfo',
>>> +  'data': {'dirty-rate': 'int64',
>>> +           'status': 'DirtyRateStatus',
>>> +           'start-time': 'int64',
>>> +           'calc-time': 'int64'} }
>>> +
>>> +##
>>> +# @calc-dirty-rate:
>>> +#
>>> +# start calculating dirty page rate for vm
>>> +#
>>> +# @calc-time: time in units of second for sample dirty pages
>>> +#
>>> +# Since: 5.2
>>> +#
>>> +# Example:
>>> +#   {"command": "calc-dirty-rate", "data": {"calc-time": 1} }
>>> +#
>>> +##
>>> +{ 'command': 'calc-dirty-rate', 'data': {'calc-time': 'int64'} }
>>> +
>>> +##
>>> +# @query-dirty-rate:
>>> +#
>>> +# query dirty page rate in units of MB/s for vm
>>> +#
>>> +# Since: 5.2
>>> +##
>>> +{ 'command': 'query-dirty-rate', 'returns': 'DirtyRateInfo' }
>>>
>>
>> -- 
>> Eric Blake, Principal Software Engineer
>> Red Hat, Inc.           +1-919-301-3226
>> Virtualization:  qemu.org | libvirt.org


  reply	other threads:[~2020-09-24  8:43 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-16  6:21 [PATCH v10 00/12] *** A Method for evaluating dirty page rate *** Chuan Zheng
2020-09-16  6:21 ` [PATCH v10 01/12] migration/dirtyrate: setup up query-dirtyrate framwork Chuan Zheng
2020-09-16  6:21 ` [PATCH v10 02/12] migration/dirtyrate: add DirtyRateStatus to denote calculation status Chuan Zheng
2020-09-16  6:21 ` [PATCH v10 03/12] migration/dirtyrate: Add RamblockDirtyInfo to store sampled page info Chuan Zheng
2020-09-16  6:21 ` [PATCH v10 04/12] migration/dirtyrate: Add dirtyrate statistics series functions Chuan Zheng
2020-09-16  6:22 ` [PATCH v10 05/12] migration/dirtyrate: move RAMBLOCK_FOREACH_MIGRATABLE into ram.h Chuan Zheng
2020-09-16  6:22 ` [PATCH v10 06/12] migration/dirtyrate: Record hash results for each sampled page Chuan Zheng
2020-09-16  6:22 ` [PATCH v10 07/12] migration/dirtyrate: Compare page hash results for recorded " Chuan Zheng
2020-09-16 14:49   ` Li Qiang
2020-09-16  6:22 ` [PATCH v10 08/12] migration/dirtyrate: skip sampling ramblock with size below MIN_RAMBLOCK_SIZE Chuan Zheng
2020-09-16  6:22 ` [PATCH v10 09/12] migration/dirtyrate: Implement set_sample_page_period() and is_sample_period_valid() Chuan Zheng
2020-09-16  6:22 ` [PATCH v10 10/12] migration/dirtyrate: Implement calculate_dirtyrate() function Chuan Zheng
2020-09-16  6:22 ` [PATCH v10 11/12] migration/dirtyrate: Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() function Chuan Zheng
2020-09-17  9:08   ` Dr. David Alan Gilbert
2020-09-23 18:17   ` Eric Blake
2020-09-23 19:03     ` Dr. David Alan Gilbert
2020-09-24  8:42       ` Zheng Chuan [this message]
2020-09-16  6:22 ` [PATCH v10 12/12] migration/dirtyrate: Add trace_calls to make it easier to debug Chuan Zheng
2020-09-17  9:15 ` [PATCH v10 00/12] *** A Method for evaluating dirty page rate *** Dr. David Alan Gilbert
2020-09-17  9:22   ` Zheng Chuan
2020-09-17  9:38     ` Dr. David Alan Gilbert
2020-09-17 10:21       ` Zheng Chuan
2020-09-23 18:04 ` Dr. David Alan Gilbert
2020-09-23 18:18   ` Eric Blake

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=2135c7e9-495e-e38b-a5a9-c82f8bba42d3@huawei.com \
    --to=zhengchuan@huawei.com \
    --cc=alex.chen@huawei.com \
    --cc=berrange@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=eblake@redhat.com \
    --cc=liq3ea@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=xiexiangyou@huawei.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).