qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 13/18] arch_init: adjust ram_save_setup() for mi


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 13/18] arch_init: adjust ram_save_setup() for migrate_is_localhost
Date: Fri, 23 Aug 2013 11:12:11 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130805 Thunderbird/17.0.8

Il 23/08/2013 11:00, Lei Li ha scritto:
>>> The performance assurance is very important to this feature, our goal is
>>> 100ms of downtime for a 1TB guest.
>>
>> I honestly doubt that 100ms of downtime is possible while the machine is
>> stopped.  A 1TB guest has 2^28 = 268*10^6 pages, which you want to
>> process in 100*10^6 nanoseconds.  Thus, your approach would require 0.4
>> nanoseconds per page, or roughly 2 clock cycles per page.  This is
>> impossible without _massive_ parallelization at all levels, starting
>> from the kernel.
>>
>> Have you thought of using shared memory (with -mempath) instead of
>> vmsplice?
> 
> Precisely!
> 
> Well, as Anthony mentioned in the version 1[1], there has been some work 
> involved
> regarding improvement of vmsplice() at kernel side by Robert Jennings[2].

Oh, finally!

> And yes, shared memory is an alternative, I think the problem with shared 
> memory is
> that can't share anonymous memory. For this maybe Anthony can chime in
> as the original idea him.  :-)

You could perhaps switch from normal to shared memory while the VM is
running?  Either use the dirty bitmap for this, or mmap the shared
memory "in place" on top of the anonymous memory.  Since it needs to be
done while the VM is stopped, you can do it perhaps 1G at a time and let
the VM run for some time before doing the next 1G.

The nice part is that because the VM is running, you can do it as slow
as you want. :)  Only the final flush and device save affects downtime.

Paolo
> 
> Reference links:
> 
> [1] Anthony's comments:
>   https://lists.gnu.org/archive/html/qemu-devel/2013-06/msg02577.html
> 
> [2] vmpslice support for zero-copy gifting of pages:
>   http://comments.gmane.org/gmane.linux.kernel.mm/103998
> 
>>
>> Paolo
>>
> 
> 




reply via email to

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