All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juan Quintela <quintela@redhat.com>
To: <gudkov.andrei@huawei.com>
Cc: <qemu-devel@nongnu.org>,  <eblake@redhat.com>,
	 <armbru@redhat.com>, <berrange@redhat.com>,
	 <zhengchuan@huawei.com>
Subject: Re: [PATCH v2 2/4] migration/calc-dirty-rate: detailed stats in sampling mode
Date: Mon, 15 May 2023 10:23:10 +0200	[thread overview]
Message-ID: <87fs7y2ec1.fsf@secure.mitica> (raw)
In-Reply-To: <ZF47+rkmPdTKIaH8@DESKTOP-0LHM7NF.china.huawei.com> (gudkov andrei's message of "Fri, 12 May 2023 16:18:04 +0300")

<gudkov.andrei@huawei.com> wrote:
> On Wed, May 10, 2023 at 07:36:33PM +0200, Juan Quintela wrote:
>> Andrei Gudkov <gudkov.andrei@huawei.com> wrote:
>> > Collect number of dirty pages for progresseively increasing time
>> > periods starting with 125ms up to number of seconds specified with
>> > calc-dirty-rate. Report through qmp and hmp: 1) vector of dirty page
>> > measurements, 2) page size, 3) total number of VM pages, 4) number
>> > of sampled pages.
>> >
>> > Signed-off-by: Andrei Gudkov <gudkov.andrei@huawei.com>
>> > ---
>> >  migration/dirtyrate.c | 165 +++++++++++++++++++++++++++++-------------
>> >  migration/dirtyrate.h |  25 ++++++-
>> >  qapi/migration.json   |  24 +++++-
>> 
>> You need the equivalent of this in your .git/config file.
>> 
>> [diff]
>> 	orderFile = scripts/git.orderfile
>> 
>> In particular:
>> *json files cames first
>> *.h second
>> *.c third
>> 
>> >  3 files changed, 160 insertions(+), 54 deletions(-)
>> >
>> > diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c
>> > index acba3213a3..4491bbe91a 100644
>> > --- a/migration/dirtyrate.c
>> > +++ b/migration/dirtyrate.c
>> > @@ -224,6 +224,7 @@ static struct DirtyRateInfo *query_dirty_rate_info(void)
>> >      info->calc_time = DirtyStat.calc_time;
>> >      info->sample_pages = DirtyStat.sample_pages;
>> >      info->mode = dirtyrate_mode;
>> > +    info->page_size = TARGET_PAGE_SIZE;
>> 
>> I thought we exported this trough ""info migrate"
>> but we do it only if we are in the middle of a migration.  Perhaps we
>> should print it always.
>
> So, which one do you prefer? To keep it here or to make "info migrate" print it always (or both)?

info migrate to print it always.  Thanks.

>> > @@ -1814,7 +1830,13 @@
>> >             'calc-time': 'int64',
>> >             'sample-pages': 'uint64',
>> >             'mode': 'DirtyRateMeasureMode',
>> > -           '*vcpu-dirty-rate': [ 'DirtyRateVcpu' ] } }
>> > +           '*vcpu-dirty-rate': [ 'DirtyRateVcpu' ],
>> > +           'page-size': 'int64',
>> 
>> 2 things:
>> a- this is exported in info migrate, so you can get it from there.
>> b- even if we export it here, it is as size or uint64, negative page
>>    size make no sense (not that I am expecting to have page that don't
>>    fit in a int O:-)
>
> But can you be sure that in the future you are not going to return
> sentinel value like "-1"? :)

For page-size?  I don't expect it.  And if I want a sentinel values,
UINT64_MAX, UINT64_MAX-1 and friends looks good enough for me.

>> Same for the rest of the counters.
>
> Ok, but I still insist on using 64 bit types for the page number counters.
> It looks to me that 16TiB VM is a matter of near future.

size_t is 64 bits on any host that is able to handle 16TiB guests O:-)
But I am indifferent to uint64_t or size_t (I am only on 64 bit machines,
so it is the same for me).  That would only help in 32bits hosts, but I
am pretty sure that nobody is using them seriously (for migration)
because all the 32bit bugs that I get on migration is from the build
bots, not real users.

Later, Juan.



  parent reply	other threads:[~2023-05-15  8:23 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-27 12:42 [PATCH v2 0/4] Migration time prediction using calc-dirty-rate Andrei Gudkov via
2023-04-27 12:42 ` [PATCH v2 1/4] migration/calc-dirty-rate: replaced CRC32 with xxHash Andrei Gudkov via
2023-05-10 16:54   ` Juan Quintela
2023-04-27 12:42 ` [PATCH v2 2/4] migration/calc-dirty-rate: detailed stats in sampling mode Andrei Gudkov via
2023-05-10 17:36   ` Juan Quintela
2023-05-12 13:18     ` gudkov.andrei--- via
2023-05-15  8:22       ` Juan Quintela
2023-05-18 14:45         ` gudkov.andrei--- via
2023-05-18 15:13           ` Juan Quintela
2023-05-15  8:23       ` Juan Quintela [this message]
2023-05-11  6:14   ` Markus Armbruster
2023-05-12 14:24     ` gudkov.andrei--- via
2023-05-30  3:06   ` Wang, Lei
2023-04-27 12:42 ` [PATCH v2 3/4] migration/calc-dirty-rate: added n-zero-pages metric Andrei Gudkov via
2023-05-10 17:57   ` Juan Quintela
2023-04-27 12:43 ` [PATCH v2 4/4] migration/calc-dirty-rate: tool to predict migration time Andrei Gudkov via
2023-05-10 18:01   ` Juan Quintela
2023-05-30  3:21   ` Wang, Lei
2023-06-02 13:06     ` gudkov.andrei--- via
2023-05-30 15:46 ` [PATCH v2 0/4] Migration time prediction using calc-dirty-rate Peter Xu
2023-05-31 14:46   ` gudkov.andrei--- via
2023-05-31 15:03     ` Peter Xu

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=87fs7y2ec1.fsf@secure.mitica \
    --to=quintela@redhat.com \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=eblake@redhat.com \
    --cc=gudkov.andrei@huawei.com \
    --cc=qemu-devel@nongnu.org \
    --cc=zhengchuan@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 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.