From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH] xend: fix ballooning bug Date: Tue, 13 Jan 2009 10:37:15 +0100 Message-ID: <496C60CB.6090108@amd.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------050102030105010504020803" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: George Dunlap , Maik Hentsche , xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org --------------050102030105010504020803 Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Hi, c/s 18960 introduced a bug when xend balloons memory. The function balloon.free requires a reference to a XendDomainInfo object, which is missing in one call of this function. Attached patch fixes this. Also replaced the variable name "self" in the (classless) function with something more descriptive. Signed-off-by: Andre Przywara Reported-by: Maik Hentsche Regards, Andre. -- Andre Przywara AMD-Operating System Research Center (OSRC), Dresden, Germany Tel: +49 351 277-84917 ----to satisfy European Law for business letters: Advanced Micro Devices GmbH Karl-Hammerschmidt-Str. 34, 85609 Dornach b. Muenchen Geschaeftsfuehrer: Jochen Polster; Thomas M. McCoy; Giuliano Meroni Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632 --------------050102030105010504020803 Content-Type: text/x-patch; name="balloon_free.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="balloon_free.patch" diff -r 5ad9fc3c896f tools/python/xen/xend/XendDomainInfo.py --- a/tools/python/xen/xend/XendDomainInfo.py Mon Jan 12 16:39:07 2009 +0000 +++ b/tools/python/xen/xend/XendDomainInfo.py Tue Jan 13 10:27:28 2009 +0100 @@ -1199,7 +1199,7 @@ if self.domid >= 0: if target > memory_cur: - balloon.free( (target-memory_cur)*1024 ) + balloon.free((target - memory_cur) * 1024, self) self.storeVm("memory", target) self.storeDom("memory/target", target << 10) xc.domain_set_target_mem(self.domid, diff -r 5ad9fc3c896f tools/python/xen/xend/balloon.py --- a/tools/python/xen/xend/balloon.py Mon Jan 12 16:39:07 2009 +0000 +++ b/tools/python/xen/xend/balloon.py Tue Jan 13 10:27:28 2009 +0100 @@ -67,7 +67,7 @@ raise VmError('Failed to query target memory allocation of dom0.') return kb -def free(need_mem ,self): +def free(need_mem, dominfo): """Balloon out memory from the privileged domain so that there is the specified required amount (in KiB) free. """ @@ -130,7 +130,7 @@ if physinfo['nr_nodes'] > 1 and retries == 0: oldnode = -1 waitscrub = 1 - vcpus = self.info['cpus'][0] + vcpus = dominfo.info['cpus'][0] for vcpu in vcpus: nodenum = 0 for node in physinfo['node_to_cpu']: --------------050102030105010504020803 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------050102030105010504020803--