[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] GPLPV memory ballooning and x32

> On 24/05/2010 23:23, "Aravindh Puthiyaparambil" <aravindh@xxxxxxxxxx> wrote:
> > I tried the Xen3.4.2 from the Gitco repo. I am unable to bring up any domain
> > if I specify the memmax option to be greater that memory. The respective
> > qemu-dm processes for the domains are at 95-100% CPU utilization. I tried
> this
> > with x64 Linux and Windows domains. The Linux-centos domains stayed at
> > "Booting 'CentOS'" screen. The windows domain died with a GPF that was
> > displayed in the VNC window. I have attached the screen shots. I did not
> find
> > anything of note in the xend.log. The qemu logs are shown below. The last
> line
> > in "xm dmesg" is:
> >
> > (XEN) io.c:199:d5 MMIO emulation failed @ 0008:4013c8: 90 a6 9f 2d 08 83
> >
> > Any idea why this is occurring?
> Perhaps a bug in populate-on-demand, which I guess is what gets enabled when
> you specify maxmem parameter for an HVM domain. It gets allocated its basic
> memory parameter initially, and extra memory gets allocated when the HVM
> guest first writes to it, up to maxmem limit. Or that's the intent anyway.
> This is not a regression from 3.1 presumably (3.1 does not implement
> populate-on-demand at all)?

On a similar subject, is it now possible to start a hvm domain in a 'ballooned 
down' state (via PoD perhaps) and then have PV drivers detect the 'unpopulated' 
pages and turn them into ballooned pages?

For that to work, I would need to be able to do the following:
. detect the unpopulated PoD pages via some hypercall(s)
. allocate specific pages in Windows (MmAllocatePagesForMdl has Low and High 
address parameters which suggest this sort of ability...)
. make sure Windows doesn't touch those pages when I allocate them (I guess it 
doesn't anyway but I can't look at the source to check...)
. change the pages from PoD to 'empty' via some hypercall(s) - or maybe this 
isn't necessary... I can just allocate them to balloon down, and then 'touch' 
each page (to make xen populate it) then free them, as long as I remember which 
pages are PoD and which are 'empty'


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.