Re: [Qemu-devel] [PATCH 7/10] Switch the memory savevm handler to be "live"

Jamie Lokier
2008-09-09T22:25:34Z

Anthony Liguori wrote:
> This patch replaces the static memory savevm/loadvm handler with a
> "live" one. This handler is used even if performing a non-live
> migration.

Excellent. One of the annoyances of savevm currently is it pauses the
VM for a significant time, so you can't use it to snapshot production
systems being used.

> The key difference between this handler and the previous is that each page is
> prefixed with the address of the page. The QEMUFile rate limiting code, in
> combination with the live migration dirty tracking bits, is used to determine
> which pages should be sent and how many should be sent.
>
> The live save code "converges" when the number of dirty pages
> reaches a fixed amount. Currently, this is 10 pages. This is
> something that should eventually be derived from whatever the
> bandwidth limitation is.

Does this mean that a snapshot could record the same page many times,
perhaps even unbounded, while the guest is dirtying pages at a high
rate? Or is the guest dirtying rate limited too to ensure the file
writer will converge in bounded time?

Thanks,
-- Jamie