[Spice-devel] viewing continuous guest virtual memory as continuous in qemu

Alon Levy alevy at redhat.com
Tue Oct 11 05:21:17 PDT 2011


On Tue, Oct 11, 2011 at 01:28:12PM +0200, Gerd Hoffmann wrote:
>   Hi,
> 
> >AFAIU this works only when the guest allocates a continuous range of
> >physical pages. This is a large requirement from the guest, which I'd
> >like to drop.
> 
> Is it?  The world is moving to huge pages, with all the stuff needed
> for it like moving around userspace pages to compact memory and make
> huge page allocation easier.  I think these days it is alot easier
> to allocate 2M of continuous physical memory than it used to be a
> few years ago.  At least on linux, dunno about windows.
> 
> When allocating stuff at boot time (say qxl kms driver) allocating
> even larger chunks shouldn't be a big issue.  And having a single
> big guest memory chunk, then register that as qxl memory slot is
> what works best with the existing interfaces I guess.

Right, this would work. I was trying to avoid claiming a large chunk up
front. I was also trying to avoid having our own allocator, although I
think that's not really a problem (can be replaced with an in kernel
allocator probably).

> 
> Another option we can think about is a 64bit PCI bar for the
> surfaces which can be moved out of the low 4G.
> 

I heard this suggested by Avi, so this would allow us to allocate a
large chunk without requiring any memory hole?

> >So I would like to have the guest use a regular
> >allocator, generating for instance two sequential pages in virtual
> >memory that are scattered in physical memory. Those two physical
> >guest page addresses (gp1 and gp2) correspond to two host virtual
> >memory addresses (hv1, hv2). I would now like to provide to
> >spice-server a single virtual address p that maps to those two pages
> >in sequence.
> 
> Playing mapping tricks like this doesn't come for free.  When doing
> it this way we probaby still want to register a big chunk of memory
> as qxl memory slot so we have the mapping cost only once, not for
> each and every surface we create and destroy.
> 
> cheers,
>   Gerd
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel


More information about the Spice-devel mailing list