|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [XEND] balloon enough memory to enable sh
# HG changeset patch
# User Tim Deegan <tim.deegan@xxxxxxxxxxxxx>
# Node ID 8013b84df1ac0810ff7de34dcafcd6b36b4bd664
# Parent 1de184deaa9c6fce2d7f12913b9da365e1accf86
[XEND] balloon enough memory to enable shadow mode before live migration.a
Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx>
---
tools/python/xen/xend/XendDomain.py | 4 ++++
tools/python/xen/xend/XendDomainInfo.py | 14 ++++++++++++++
2 files changed, 18 insertions(+)
diff -r 1de184deaa9c -r 8013b84df1ac tools/python/xen/xend/XendDomain.py
--- a/tools/python/xen/xend/XendDomain.py Wed Sep 06 13:16:02 2006 +0100
+++ b/tools/python/xen/xend/XendDomain.py Fri Sep 08 18:55:53 2006 +0100
@@ -420,6 +420,10 @@ class XendDomain:
""" The following call may raise a XendError exception """
dominfo.testMigrateDevices(True, dst)
+ if live:
+ """ Make sure there's memory free for enabling shadow mode """
+ dominfo.checkLiveMigrateMemory()
+
if port == 0:
port = xroot.get_xend_relocation_port()
try:
diff -r 1de184deaa9c -r 8013b84df1ac tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py Wed Sep 06 13:16:02 2006 +0100
+++ b/tools/python/xen/xend/XendDomainInfo.py Fri Sep 08 18:55:53 2006 +0100
@@ -49,6 +49,7 @@ from xen.xend.xenstore.xsutil import Get
from xen.xend.xenstore.xsutil import GetDomainPath, IntroduceDomain
from xen.xend.xenstore.xswatch import xswatch
+from xen.xend import arch
"""Shutdown code for poweroff."""
DOMAIN_POWEROFF = 0
@@ -1502,6 +1503,19 @@ class XendDomainInfo:
self.image.createDeviceModel()
## public:
+
+ def checkLiveMigrateMemory(self):
+ """ Make sure there's enough memory to migrate this domain """
+ overhead_kb = 0
+ if arch.type == "x86":
+ # 1MB per vcpu plus 4Kib/Mib of RAM. This is higher than
+ # the minimum that Xen would allocate if no value were given.
+ overhead_kb = self.info['vcpus'] * 1024 + self.info['maxmem'] * 4
+ overhead_kb = ((overhead_kb + 1023) / 1024) * 1024
+ # The domain might already have some shadow memory
+ overhead_kb -= xc.shadow_mem_control(self.domid) * 1024
+ if overhead_kb > 0:
+ balloon.free(overhead_kb)
def testMigrateDevices(self, network, dst):
""" Notify all device about intention of migration
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [XEND] balloon enough memory to enable shadow mode before live migration.a,
Xen patchbot-unstable <=
|
|
|
|
|