If hotplug memory during migration, the calculation of migration_dirty_pages
maybe incorrect, should fixed as below,
-void migration_bitmap_extend(ram_addr_t old, ram_addr_t new)
+void migration_bitmap_extend(RAMBlock *block, ram_addr_t old, ram_addr_t new)
{
/* called in qemu main thread, so
If hotplug memory during migration, the calculation of migration_dirty_pages
maybe not correct,
void migration_bitmap_extend(ram_addr_t old, ram_addr_t new)
{
...
migration_dirty_pages += new - old;
call_rcu(old_bitmap, migration_bitmap_free, rcu);
...
}
Thanks,
Zha
Hi Jiangshan,
Any update from this patch?
Thanks,
Zhang Haoyu
On 2016/8/11 22:45, Lai Jiangshan wrote:
> Note, the old local migration patchset:
> https://lists.gnu.org/archive/html/qemu-devel/2013-12/msg00073.html
>
> this patch can be considered as a new local migration implementation,
> but
On Fri, Aug 12, 2016 at 2:48 PM, Li, Liang Z wrote:
>> >> > BTW. Is it possible to bypass the shared block in the
>> >> 'ram_find_and_save_block'?
>> >> > I mean no to check if a page is dirty for a shared block, it may
>> >> > make things
>> >> faster.
>> >>
>> >> Nice spotted. That would make t
> >> > BTW. Is it possible to bypass the shared block in the
> >> 'ram_find_and_save_block'?
> >> > I mean no to check if a page is dirty for a shared block, it may
> >> > make things
> >> faster.
> >>
> >> Nice spotted. That would make things faster. But once there we
> >> could split the bitmap
Note, the old local migration patchset:
https://lists.gnu.org/archive/html/qemu-devel/2013-12/msg00073.html
this patch can be considered as a new local migration implementation,
but with more restrictions (the memory must set shared when boot the qemu)
On Thu, Aug 11, 2016 at 3:11 PM, Li, Liang Z wrote:
>> >>
>> >> I might have missed something, could you tell me more?
>> >>
>> >> void bitmap_set(unsigned long *map, long start, long nr); I think the
>> >> @start and @nr are both the number of the bits.
>> >>
>> >> thanks,
>> >> Lai
>> >
>> > You
> >>
> >> I might have missed something, could you tell me more?
> >>
> >> void bitmap_set(unsigned long *map, long start, long nr); I think the
> >> @start and @nr are both the number of the bits.
> >>
> >> thanks,
> >> Lai
> >
> > You are right, I have make a mistake by checking the code. Sorry
"Li, Liang Z" wrote:
>> On Wed, Aug 10, 2016 at 10:22 AM, Li, Liang Z wrote:
>> > Hi Jiangshan,
>> >
>> > Glad to see your patch. It's a simple implementation which could provide
>> very useful functions.
>> >
>> >> +static void migration_bitmap_init(unsigned long *bitmap) {
>> >> +RAMBlock *
> On Wed, Aug 10, 2016 at 10:22 AM, Li, Liang Z wrote:
> > Hi Jiangshan,
> >
> > Glad to see your patch. It's a simple implementation which could provide
> very useful functions.
> >
> >> +static void migration_bitmap_init(unsigned long *bitmap) {
> >> +RAMBlock *block;
> >> +
> >> +bitmap
On Wed, Aug 10, 2016 at 10:22 AM, Li, Liang Z wrote:
> Hi Jiangshan,
>
> Glad to see your patch. It's a simple implementation which could provide very
> useful functions.
>
>> +static void migration_bitmap_init(unsigned long *bitmap) {
>> +RAMBlock *block;
>> +
>> +bitmap_clear(bitmap, 0,
Hi Jiangshan,
Glad to see your patch. It's a simple implementation which could provide very
useful functions.
> +static void migration_bitmap_init(unsigned long *bitmap) {
> +RAMBlock *block;
> +
> +bitmap_clear(bitmap, 0, last_ram_offset() >> TARGET_PAGE_BITS);
> +rcu_read_lock();
>
On Wed, 08/10 08:54, Lai Jiangshan wrote:
> When the migration capability 'bypass-shared-memory'
> is set, the shared memory will be bypassed when migration.
>
> It is the key feature to enable several excellent features for
> the qemu, such as qemu-local-migration, qemu-live-update,
> extremely-f
When the migration capability 'bypass-shared-memory'
is set, the shared memory will be bypassed when migration.
It is the key feature to enable several excellent features for
the qemu, such as qemu-local-migration, qemu-live-update,
extremely-fast-save-restore, vm-template, vm-fast-live-clone,
yet
14 matches
Mail list logo