From: Zheng Chuan <zhengchuan@huawei.com>
To: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: zhang.zhanghailiang@huawei.com, quintela@redhat.com,
linyilu@huawei.com, qemu-devel@nongnu.org, alex.chen@huawei.com,
ann.zhuangyanying@huawei.com, fangying1@huawei.com
Subject: Re: [RFC PATCH 2/8] migration/dirtyrate: Add block_dirty_info to store dirtypage info
Date: Thu, 6 Aug 2020 15:37:03 +0800 [thread overview]
Message-ID: <8ac6e996-b01d-9b7c-3f7a-aeb2b376cfa1@huawei.com> (raw)
In-Reply-To: <20200804162829.GE2659@work-vm>
On 2020/8/5 0:28, Dr. David Alan Gilbert wrote:
> * Chuan Zheng (zhengchuan@huawei.com) wrote:
>> From: Zheng Chuan <zhengchuan@huawei.com>
>>
>> Add block_dirty_info to store dirtypage info for each ramblock
>>
>> Signed-off-by: Zheng Chuan <zhengchuan@huawei.com>
>> Signed-off-by: YanYing Zhang <ann.zhuangyanying@huawei.com>
>> ---
>> migration/dirtyrate.h | 13 +++++++++++++
>> 1 file changed, 13 insertions(+)
>>
>> diff --git a/migration/dirtyrate.h b/migration/dirtyrate.h
>> index 9a5c228..342b89f 100644
>> --- a/migration/dirtyrate.h
>> +++ b/migration/dirtyrate.h
>> @@ -33,6 +33,19 @@ typedef enum {
>> CAL_DIRTY_RATE_END = 2,
>> } CalculatingDirtyRateStage;
>>
>> +/*
>> + * Store dirtypage info for each block.
>> + */
>> +struct block_dirty_info {
>
> Please call this ramblock_dirty_info; we use 'block' a lot to mean
> disk block and it gets confusing.
>
Sure, ramblock_dirty_info is better.
>> + char idstr[BLOCK_INFO_MAX_LEN];
>
> Is there a reason you don't just use a RAMBlock * here?
>
>> + uint8_t *block_addr;
>> + unsigned long block_pages;
>> + unsigned long *sample_page_vfn;
>
> Please comment these; if I understand correctly, that's an array
> of page indexes into the block generated from the random numbers
>
>> + unsigned int sample_pages_count;
>> + unsigned int sample_dirty_count;
>> + uint8_t *hash_result;
>
> If I understand, this is an array of hashes end-to-end for
> all the pages in this RAMBlock?
>
> Dave
>
Actually, we do not go through all pages of the RAMBlock but sample
some pages (for example, 256 pages per Gigabit)to make it faster.
Obviously it will sacrifice accuracy, but it still looks good enough
under practical test.
>> +};
>> +
>> void *get_dirtyrate_thread(void *arg);
>> #endif
>>
>> --
>> 1.8.3.1
>>
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
>
>
> .
>
next prev parent reply other threads:[~2020-08-06 11:54 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-25 3:11 [RFC PATCH 0/8] *** A Method for evaluating dirty page rate *** Chuan Zheng
2020-07-25 3:11 ` [RFC PATCH 1/8] migration/dirtyrate: Add get_dirtyrate_thread() function Chuan Zheng
2020-08-04 16:23 ` Dr. David Alan Gilbert
2020-08-06 7:36 ` Zheng Chuan
2020-07-25 3:11 ` [RFC PATCH 2/8] migration/dirtyrate: Add block_dirty_info to store dirtypage info Chuan Zheng
2020-08-04 16:28 ` Dr. David Alan Gilbert
2020-08-06 7:37 ` Zheng Chuan [this message]
2020-08-06 16:59 ` Dr. David Alan Gilbert
2020-08-07 6:19 ` Zheng Chuan
2020-07-25 3:11 ` [RFC PATCH 3/8] migration/dirtyrate: Add dirtyrate statistics series functions Chuan Zheng
2020-08-04 16:44 ` Dr. David Alan Gilbert
2020-07-25 3:11 ` [RFC PATCH 4/8] migration/dirtyrate: Record hash results for each ramblock Chuan Zheng
2020-08-04 17:00 ` Dr. David Alan Gilbert
2020-08-06 7:37 ` Zheng Chuan
2020-07-25 3:11 ` [RFC PATCH 5/8] migration/dirtyrate: Compare hash results for recorded ramblock Chuan Zheng
2020-08-04 17:29 ` Dr. David Alan Gilbert
2020-08-11 8:42 ` Zheng Chuan
2020-07-25 3:11 ` [RFC PATCH 6/8] migration/dirtyrate: Implement get_sample_gap_period() and block_sample_gap_period() Chuan Zheng
2020-08-04 17:52 ` Dr. David Alan Gilbert
2020-07-25 3:11 ` [RFC PATCH 7/8] migration/dirtyrate: Implement calculate_dirtyrate() function Chuan Zheng
2020-08-04 17:57 ` Dr. David Alan Gilbert
2020-07-25 3:11 ` [RFC PATCH 8/8] migration/dirtyrate: Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() function Chuan Zheng
2020-08-04 16:28 ` Eric Blake
2020-08-06 7:37 ` Zheng Chuan
2020-08-04 16:34 ` Eric Blake
2020-08-04 18:02 ` Dr. David Alan Gilbert
2020-08-04 16:19 ` [RFC PATCH 0/8] *** A Method for evaluating dirty page rate *** Dr. David Alan Gilbert
2020-08-06 7:36 ` Zheng Chuan
2020-08-06 16:58 ` Dr. David Alan Gilbert
2020-08-07 6:13 ` Zheng Chuan
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=8ac6e996-b01d-9b7c-3f7a-aeb2b376cfa1@huawei.com \
--to=zhengchuan@huawei.com \
--cc=alex.chen@huawei.com \
--cc=ann.zhuangyanying@huawei.com \
--cc=dgilbert@redhat.com \
--cc=fangying1@huawei.com \
--cc=linyilu@huawei.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.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).