Re: file-backed guest memory

Avi Kivity
2007-04-12T15:38:46Z

Michael Riepe wrote:
> Hi!
>
> This is just a (probably silly) idea I had the other day. Currently, the
> guest's memory is allocated inside the kernel and exported to userspace
> via mmap(). But wouldn't it also be possible to create a file in
> userspace and pass its descriptor to kvm? If we also pass file offset
> and length parameters for each memslot, all segments can (but need not)
> reside in the same file. There would be a persistent snapshot of the
> VM's physical memory, and it would enable the VM to page out the guest's
> pages. One could also do strange things like mapping a portion of the
> file several times, e.g. to emulate an architecture with incomplete
> address decoding. Applications that absolutely want to use anonymous
> memory could pass -1 as the fd, as they do with mmap(MAP_ANONYMOUS).
>

Arnd suggested this way back when kvm was first posted on lkml, and I
agree that this is a very useful mechanism. You get on-demand loading,
swap, hugetlbfs, and maybe other nifty stuff. I think I know how to do
this for the current mmu, but I'm worried that it will have a
performance impact with the nested page tables mmu.

--
error compiling committee.c: too many arguments to function