mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
[IA64] Work around auto-ballooning changes.
Original patch from Kevin Tian at Intel. Signed-off-by: Keir Fraser <keir@xensource.com>
This commit is contained in:
1 parent
eb8b146a00
commit
9892f9d1aa
2 files changed
+16
-5
No files matched your search
@@ -29,6 +29,7 @@ import logging
|
||||
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()
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||