From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: Claim mode and HVM PoD interact badly Date: Fri, 10 Jan 2014 09:58:07 -0500 Message-ID: <20140110145807.GB19124@phenom.dumpdata.com> References: <20140110115638.GG29180@zion.uk.xensource.com> <1389355182.19142.38.camel@kazak.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <1389355182.19142.38.camel@kazak.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: Wei Liu , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On Fri, Jan 10, 2014 at 11:59:42AM +0000, Ian Campbell wrote: > create ^ > owner Wei Liu > thanks > > On Fri, 2014-01-10 at 11:56 +0000, Wei Liu wrote: > > When I have following configuration in HVM config file: > > memory=128 > > maxmem=256 > > and have claim_mode=1 in /etc/xen/xl.conf, xl create fails with > > > > xc: error: Could not allocate memory for HVM guest as we cannot claim memory! (22 = Invalid argument): Internal error > > libxl: error: libxl_dom.c:647:libxl__build_hvm: hvm building failed > > libxl: error: libxl_create.c:1000:domcreate_rebuild_done: cannot (re-)build domain: -3 > > libxl: error: libxl_dm.c:1467:kill_device_model: unable to find device model pid in /local/domain/82/image/device-model-pid > > libxl: error: libxl.c:1425:libxl__destroy_domid: libxl__destroy_device_model failed for 82 > > > > With claim_mode=0, I can sucessfuly create HVM guest. > > Is it trying to claim 256M instead of 128M? (although the likelyhood No. 128MB actually. > that you only have 128-255M free is quite low, or are you > autoballooning?) This patch fixes it for me. It basically sets the amount of pages claimed to be 'maxmem' instead of 'memory' for PoD. I don't know PoD very well, and this claim is only valid during the allocation of the guests memory - so the 'target_pages' value might be the wrong one. However looking at the hypervisor's 'p2m_pod_set_mem_target' I see this comment: 316 * B