On 20.06.2012, at 01:28, Benjamin Herrenschmidt wrote: > On Wed, 2012-06-20 at 01:11 +0200, Juan Quintela wrote: >> >>> I am confident I can come up with something as far as the kernel and >>> qemu <-> kernel interface goes. I need to get my head around the details >>> on how to implement that two stage save process in qemu though and the >>> corresponding restore which will need to read both snapshots and apply >>> the diff before shooting it back to the kernel. >>> >>> BTW. Does migration in pure qemu (full system emu) works similarily, ie, >>> two stage ? If it does I can easily prototype everything there. >> >> It does, but I have no clue how the hashed page tables are implemented >> on ppc, i.e. if there is anything specific for bare metal. Alex? > > We support the paravirtualized -M pseries in full emu as well, in which > case the hashed page table is handled by qemu itself who implements the > H_ENTER & co hypercalls. So it's very similar, except that qemu doesn't > have to ask the kernel to get a snapshot :-) > > So I can flush out the storage format and two stage process inside qemu, > and then bother with the kvm/kernel interface. > > Normal "bare metal" operation in qemu (or even KVM "PR") doesn't require > this as in that case the hash table is just a normal part of the guest > memory, it's only an issue when doing paravirtualized guest such as > pseries (aka PAPR).
IIRC we still allocate it outside of normal guest memory, so you don't get the migration for free :). Alex