qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] safety of migration_bitmap_extend


From: Li Zhijian
Subject: Re: [Qemu-devel] safety of migration_bitmap_extend
Date: Fri, 13 Nov 2015 16:55:31 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

On 11/12/2015 04:33 PM, Wen Congyang wrote:
> Imagine that migration_dirty_pages is slightly too small and we enter ram_save_iterate;
> ram_save_iterate now sends *all* it's pages, it decrements migration_dirty_pages for
> every page sent.  At the end of ram_save_iterate, migration_dirty_pages would be negative.
> But migration_dirty_pages is *u*int64_t; so we exit ram_save_iterate,
> go around the main migration_thread loop again and call qemu_savevm_state_pending, and
> it returns a very large number (because it's actually a negative number), so we keep
> going around the loop, because it never gets smaller.
I don't know how to trigger the problem. I think store migration_dirty_pages in BitmapRcu
can fix this problem.


hi, David

It seem that it's not easy to reproduce this problem in my environment.
and the following 2 patches are to fix this issue, can you help to review and test.


    
thx
Li

Attachment: 0002-migration-use-rcu-to-protect-migration_dirty_pages.patch
Description: Text Data

Attachment: 0001-bitmap-add-bitmap_weight-api.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]