WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] balloon question

To: "Jan Beulich" <jbeulich@xxxxxxxxxx>
Subject: Re: [Xen-devel] balloon question
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Thu, 8 Jun 2006 17:25:32 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 08 Jun 2006 09:25:52 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <4488479F.76E4.0078.0@xxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4488479F.76E4.0078.0@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx

On 8 Jun 2006, at 14:51, Jan Beulich wrote:

Running with Xen option dom0_mem=6G and kernel option mem=8G, I would have expected that I would see the system with a 2G balloon right after boot. However, the balloon is empty. Briefly looking at this, it would seem to me that, with all pages being reserved when the system starts and only the populated ones getting the reserved status cleared in __free_pages_bootmem(), the condition to put pages into the balloon in balloon_init() is inverted.

i386 deliberately marks pages beyond start_info->nr_pages as not Reserved so they get picked up by the balloon driver. Either x86/64 needs to do the same, or we stop doing that in i386. But then there will be pages that are legitimately Reserved that the balloon driver will erroneously pick up. Or we could make the balloon driver explicitly pick up all pages from start_info->nr_pages. Or have an interface to allow arch code to register page ranges with the balloon driver. This needs a little thought....

Also, dying in xen_destroy_contiguous_region() (and similarly in the failure recovery code in xen_create_contiguous_region()) if the space just unmapped can't be re-populated seems overly harsh (we're having a case where this actually happens); wouldn't it make sense to make this fatal only when the page can't be replaced by a free one (allocated inside the domain, with the page stolen for this then simply pushed into the balloon, similar to balloon_alloc_empty_page_range() except without freeing the memory to Xen)?

As it happens I'm fixing this exact problem right now. :-) Expect a fix in -unstable and -testing in the next few days.

 -- Keir


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>