From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: dom0 linux 3.6.0-rc4, crash due to ballooning althoug dom0_mem=X, max:X set Date: Tue, 4 Sep 2012 12:39:03 -0400 Message-ID: <20120904163903.GI23361@phenom.dumpdata.com> References: <1136369816.20120904183757@eikelenboom.it> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <1136369816.20120904183757@eikelenboom.it> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Sander Eikelenboom Cc: xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On Tue, Sep 04, 2012 at 06:37:57PM +0200, Sander Eikelenboom wrote: > Hi Konrad, > > This seems to happen only on a intel machine i'm trying to setup as a development machine (haven't seen it on my amd). > It boots fine, i have dom0_mem=1024M,max:1024M set, the machine has 2G of mem. > > Dom0 and guest kernel are 3.6.0-rc4 with config: > [*] Xen memory balloon driver > [*] Scrub pages before returning them to system Can you also try this patch out and provide the full log (bootup and such). Thanks! diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c index 31ab82f..871a93c 100644 --- a/drivers/xen/balloon.c +++ b/drivers/xen/balloon.c @@ -355,8 +355,12 @@ static enum bp_state increase_reservation(unsigned long nr_pages) BUG_ON(page == NULL); pfn = page_to_pfn(page); - BUG_ON(!xen_feature(XENFEAT_auto_translated_physmap) && - phys_to_machine_mapping_valid(pfn)); + if (!xen_feature(XENFEAT_auto_translated_physmap)) { + if (phys_to_machine_mapping_valid(pfn)) { + printk(KERN_DEBUG "%lx is %lx!\n", pfn, get_phys_to_machine(pfn)); + continue; + } + } set_phys_to_machine(pfn, frame_list[i]); @@ -572,6 +576,7 @@ static void __init balloon_add_region(unsigned long start_pfn, */ extra_pfn_end = min(max_pfn, start_pfn + pages); + printk(KERN_INFO "%s: [%lx->%lx]\n", __func__, start_pfn, extra_pfn_end); for (pfn = start_pfn; pfn < extra_pfn_end; pfn++) { page = pfn_to_page(pfn); /* totalram_pages and totalhigh_pages do not