From: Wei Yang <richardw.yang@linux.intel.com>
To: Peter Xu <peterx@redhat.com>
Cc: qemu-devel@nongnu.org, quintela@redhat.com,
Wei Yang <richardw.yang@linux.intel.com>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] migratioin/ram: leave RAMBlock->bmap blank on allocating
Date: Mon, 3 Jun 2019 11:36:00 +0800 [thread overview]
Message-ID: <20190603033600.GB7784@richard> (raw)
In-Reply-To: <20190603023527.GD4958@xz-x1>
On Mon, Jun 03, 2019 at 10:35:27AM +0800, Peter Xu wrote:
>On Mon, Jun 03, 2019 at 09:33:05AM +0800, Wei Yang wrote:
>> On Sat, Jun 01, 2019 at 11:34:41AM +0800, Peter Xu wrote:
>> >On Fri, May 31, 2019 at 05:43:37PM +0100, Dr. David Alan Gilbert wrote:
>> >> * Wei Yang (richardw.yang@linux.intel.com) wrote:
>> >> > During migration, we would sync bitmap from ram_list.dirty_memory to
>> >> > RAMBlock.bmap in cpu_physical_memory_sync_dirty_bitmap().
>> >> >
>> >> > Since we set RAMBlock.bmap and ram_list.dirty_memory both to all 1, this
>> >> > means at the first round this sync is meaningless and is a duplicated
>> >> > work.
>> >> >
>> >> > Leaving RAMBlock->bmap blank on allocating would have a side effect on
>> >> > migration_dirty_pages, since it is calculated from the result of
>> >> > cpu_physical_memory_sync_dirty_bitmap(). To keep it right, we need to
>> >> > set migration_dirty_pages to 0 in ram_state_init().
>> >> >
>> >> > Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
>> >>
>> >> I've looked at this for a while, and I think it's OK, so
>> >>
>> >> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
>> >>
>> >> Peter, Juan: Can you just see if there's arny reason this would be bad,
>> >> but I think it's actually more sensible than what we have.
>> >
>> >I really suspect it will work in all cases... Wei, have you done any
>> >test (or better, thorough tests) with this change? My reasoning of
>> >why we should need the bitmap all set is here:
>> >
>>
>> I have done some migration cases, like migrate a linux guest through tcp.
>
>When did you start the migration? Have you tried to migrate during
>some workload?
>
I tried kernel build in guest.
>>
>> Other cases suggested to do?
>
>Could you also help answer the question I raised below in the link?
>
>Thanks,
>
>> >https://lists.gnu.org/archive/html/qemu-devel/2019-05/msg07361.html
>
I took a look into this link, hope my understanding is correct.
You concern is this thread/patch is based on one prerequisite -- dirty all the
bitmap at start.
My answer is we already did it in ram_block_add() for each RAMBlock. And then
the bitmap is synced by migration_bitmap_sync_precopy() from
ram_list.dirty_memory to RAMBlock.bmap.
>--
>Peter Xu
--
Wei Yang
Help you, Help me
next prev parent reply other threads:[~2019-06-03 3:50 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-07 3:17 [Qemu-devel] [PATCH] migratioin/ram: leave RAMBlock->bmap blank on allocating Wei Yang
2019-05-31 16:43 ` Dr. David Alan Gilbert
2019-06-01 3:34 ` Peter Xu
2019-06-03 1:33 ` Wei Yang
2019-06-03 2:35 ` Peter Xu
2019-06-03 3:36 ` Wei Yang [this message]
2019-06-03 5:40 ` Peter Xu
2019-06-03 6:05 ` Wei Yang
2019-06-03 6:10 ` Wei Yang
2019-06-03 6:35 ` 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=20190603033600.GB7784@richard \
--to=richardw.yang@linux.intel.com \
--cc=dgilbert@redhat.com \
--cc=peterx@redhat.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).