From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gordan Bobic Subject: Re: HVM support for e820_host (Was: Bug: Limitation of <=2GB RAM in domU persists with 4.3.0) Date: Tue, 03 Sep 2013 22:24:44 +0100 Message-ID: <5226539C.4000906@bobich.net> References: <51F19D11.1090200@bobich.net> <51F1A54D.6070906@bobich.net> <1374798084.10269.2.camel@hastur.hellion.org.uk> <20130729180431.GQ5848@phenom.dumpdata.com> <20130903145934.GC1487@konrad-lan.dumpdata.com> <52263CBD.1090402@bobich.net> <52264826.3010402@bobich.net> <52264B64.1080302@bobich.net> <20130903211058.GA14214@phenom.dumpdata.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20130903211058.GA14214@phenom.dumpdata.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: Konrad Rzeszutek Wilk Cc: xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On 09/03/2013 10:10 PM, Konrad Rzeszutek Wilk wrote: > On Tue, Sep 03, 2013 at 09:49:40PM +0100, Gordan Bobic wrote: >> I spoke too soon - even with e820_host=0, the same error occurs. >> What did I break? The code in question is this: >> >> if (libxl_defbool_val(d_config->b_info.e820_host)) { >> ret = libxl__e820_alloc(gc, domid, d_config); >> if (ret) { >> LIBXL__LOG_ERRNO(gc->owner, LIBXL__LOG_ERROR, >> "Failed while collecting E820 with: %d (errno:%d)\n", >> ret, errno); >> } >> } >> >> With e820_host=0, that outer black should evaluate to false, should >> it not? In libxl_create.c, if I am understanding the code correctly, >> e820_host is defaulted to false, too. What am I missing? > > Just sent you an email but I believe what is failing is: > > 241 rc = xc_domain_set_memory_map(ctx->xch, domid, map, nr); But with e820_host=0 set in the config, libxl__e820_alloc() should not be getting called in the first place. That function only gets called from line 303, inside that if block I pasted above. That is what is puzzling me. > You can add some extra LIBXL__LOG_ERRNO to check each 'rc' to see > which one of them failed. > > Hm, perhaps it might make sense to actually have the libxl__e820_alloc > also use the LIBXL__LOG_ERRNO to log more details.. OK, I'll add some debug and see what I find. Gordan