* Avi Kivity<avi@xxxxxxxxxx> wrote:
> On 05/26/2011 02:38 PM, Ingo Molnar wrote:
> >* Avi Kivity<avi@xxxxxxxxxx> wrote:
> >
> >> > The biggest amount of RAM is the guest RAM image - but if that is
> >> > mmap(SHARED) and mapped using hugepages then the pte overhead
> >> > from a process model is largely mitigated.
> >>
> >> That doesn't work with memory hotplug.
> >
> > Why not, if we do the sensible thing and restrict the size
> > granularity and alignment of plugged/unplugged memory regions to
> > 2MB?
>
> Once forked, you cannot have new shared anonymous memory, can you?
We can have named shared memory.
Incidentally i suggested this to Pekka just yesterday: i think we
should consider guest RAM images to be named files on the local
filesystem (prefixed with the disk image's name or so, for easy
identification), this will help with debugging and with swapping as
well. (This way guest RAM wont eat up regular anonymous swap space -
it will be swapped to the filesystem.)
As a sidenote, live migration might also become possible this way: in
theory we could freeze a guest to its RAM image - which can then be
copied (together with the disk image) to another box as files and
restarted there, with some some hw configuration state dumped to a
header portion of that RAM image as well. (outside of the RAM area)