This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


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

To: "Keir Fraser" <keir.fraser@xxxxxxxxxxxxx>, "Aravindh Puthiyaparambil" <aravindh@xxxxxxxxxx>, Pasi Kärkkäinen <pasik@xxxxxx>
Subject: RE: [Xen-devel] GPLPV memory ballooning and x32
From: "James Harper" <james.harper@xxxxxxxxxxxxxxxx>
Date: Tue, 25 May 2010 17:18:39 +1000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 25 May 2010 00:19:52 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C8213256.150CE%keir.fraser@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <D83C13F0C853364EB226DBEE584BBE614DAB25F830@xxxxxxxxxxxxxxxxxxxxxxxxxx> <C8213256.150CE%keir.fraser@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acr7Eln9C5XzuBeXS+KSV/Yrq0icfAAdxdPgABNdRaMAAE4W8A==
Thread-topic: [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