# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 13d6d993d79724d86a0c9ac556a7f884baed98ae
# Parent dbcb8acc8f5916dbcb9af4a5b4086611f879bb55
[IA64] Work around auto-ballooning changes.
Original patch from Kevin Tian at Intel.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
tools/python/xen/xend/XendDomainInfo.py | 10 +++++++++-
tools/python/xen/xend/image.py | 11 +++++++----
2 files changed, 16 insertions(+), 5 deletions(-)
diff -r dbcb8acc8f59 -r 13d6d993d797 tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py Mon May 22 17:03:24 2006 +0100
+++ b/tools/python/xen/xend/XendDomainInfo.py Mon May 22 17:30:25 2006 +0100
@@ -29,6 +29,7 @@ import string
import string
import time
import threading
+import os
import xen.lowlevel.xc
from xen.util import asserts
@@ -1264,7 +1265,14 @@ class XendDomainInfo:
m = self.image.getDomainMemory(self.info['memory'] * 1024)
balloon.free(m)
xc.domain_setmaxmem(self.domid, m)
- xc.domain_memory_increase_reservation(self.domid,
self.info['memory'] * 1024, 0, 0)
+
+ init_reservation = self.info['memory'] * 1024
+ if os.uname()[4] == 'ia64':
+ # Workaround until ia64 properly supports ballooning.
+ init_reservation = m
+
+ xc.domain_memory_increase_reservation(self.domid, init_reservation,
+ 0, 0)
self.createChannels()
diff -r dbcb8acc8f59 -r 13d6d993d797 tools/python/xen/xend/image.py
--- a/tools/python/xen/xend/image.py Mon May 22 17:03:24 2006 +0100
+++ b/tools/python/xen/xend/image.py Mon May 22 17:30:25 2006 +0100
@@ -144,10 +144,13 @@ class ImageHandler:
def getDomainMemory(self, mem_kb):
"""@return The memory required, in KiB, by the domain to store the
- given amount, also in KiB. This is normally just mem, but if HVM is
- supported, keep a little extra free."""
- if 'hvm' in xc.xeninfo()['xen_caps']:
- mem_kb += 4*1024;
+ given amount, also in KiB."""
+ if os.uname()[4] != 'ia64':
+ # A little extra because auto-ballooning is broken w.r.t. HVM
+ # guests. Also, slack is necessary for live migration since that
+ # uses shadow page tables.
+ if 'hvm' in xc.xeninfo()['xen_caps']:
+ mem_kb += 4*1024;
return mem_kb
def buildDomain(self):
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|