From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Charles Coffing" Subject: Re: [PATCH] Fix auto-ballooning of dom0 for HVM domains Date: Thu, 18 May 2006 12:11:23 -0600 Message-ID: <446C651A.D169.003C.0@novell.com> References: <446C5554.D169.003C.0@novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <446C5554.D169.003C.0@novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Sorry, I forgot the Signed-off-by line. Consider this my sign-off on the previous email: Signed-off-by: Charles Coffing >>> On Thu, May 18, 2006 at 11:04 AM, in message <446C5554.D169.003C.0@novell.com>, "Charles Coffing" wrote: > Hi, > > I've been trying to make the auto- ballooning of domain 0 work reliably > for HVM domains. > > Patch #1 is a simple bug fix, in preparation for patch #2. Patch #2 > tries to calculate how much memory is needed for HVM domains (XenSource > bug #521) and is certainly open for discussion. Patches apply cleanly > to both 3.0- testing and unstable. > > Patch #1 (xen- hvm- auto- balloon.diff): > When a domain (whether para- or fully- virtualized) reports how much > overhead memory it requires (via getDomainMemory in image.py), all such > memory was immediately allocated to the domain itself. This is > certainly incorrect for HVM domains, since additional > increase_reservation calls are made later in qemu. Since all ballooned > memory is already taken, qemu will fail. The fix is to treat the > requested memory size and the overhead size as separate values. The > requested memory size is immediately allocated to the new domain; the > overhead is left unallocated for whatever else might need it later. > > Patch #2 (xen- get- dom- memory.diff): > This patch calculates the overhead needed for HVM domains. If HVM is > supported by the hardware, I add a little ballooning overhead to > paravirtualized VMs also, to avoid low- memory situations. (There are > various unchecked alloc_domheap_pages calls in shadow*.c that I am > trying to avoid tripping over for now...) The values in this patch work > fine on 32 bit; I may update them later based on feedback and/or testing > on 64 bit. > > Thanks, > Chuck