WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-3.4-testing] xend: destroy stubdoms synchronously

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-3.4-testing] xend: destroy stubdoms synchronously
From: "Xen patchbot-3.4-testing" <patchbot-3.4-testing@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 23 Oct 2009 02:40:37 -0700
Delivery-date: Fri, 23 Oct 2009 02:42:06 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1256289628 -3600
# Node ID 7bd37c5c72893a783a00b3068df0c81b3ceb911c
# Parent  9c2328a6f768265646da64094fe9a58134e2e0e6
xend: destroy stubdoms synchronously

This patch makes the destruction of stubdoms a synchronous event,
therefore it is no longer possible to run out of memory when rebooting
a guest because the stubdom of the old guest is always destroyed
before the creation of the new guest.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
xen-unstable changeset:   20315:cc8044c5da4c
xen-unstable date:        Thu Oct 15 08:16:42 2009 +0100
---
 stubdom/stubdom-dm                      |    8 ++------
 tools/python/xen/xend/XendDomainInfo.py |    8 ++++++++
 tools/python/xen/xend/image.py          |    6 +++++-
 3 files changed, 15 insertions(+), 7 deletions(-)

diff -r 9c2328a6f768 -r 7bd37c5c7289 stubdom/stubdom-dm
--- a/stubdom/stubdom-dm        Fri Oct 23 10:19:58 2009 +0100
+++ b/stubdom/stubdom-dm        Fri Oct 23 10:20:28 2009 +0100
@@ -69,12 +69,8 @@ done
 
 term() {
     kill %1
-    (
-       [ -n "$vncpid" ] && kill -9 $vncpid
-       rm /etc/xen/stubdoms/$domname-dm
-       xm destroy $domname-dm
-    ) &
-    # We need to exit immediately so as to let xend do the commands above
+    [ -n "$vncpid" ] && kill -9 $vncpid
+    rm /etc/xen/stubdoms/$domname-dm
     exit 0
 }
 
diff -r 9c2328a6f768 -r 7bd37c5c7289 tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py   Fri Oct 23 10:19:58 2009 +0100
+++ b/tools/python/xen/xend/XendDomainInfo.py   Fri Oct 23 10:20:28 2009 +0100
@@ -1737,6 +1737,14 @@ class XendDomainInfo:
     def getDomid(self):
         return self.domid
 
+    def getStubdomDomid(self):
+        dom_list = xstransact.List('/local/domain')
+        for d in dom_list:
+            target = xstransact.Read('/local/domain/' + d + '/target')
+            if target is not None and int(target) is self.domid :
+                return int(d)
+        return None
+
     def setName(self, name, to_store = True):
         self._checkName(name)
         self.info['name_label'] = name
diff -r 9c2328a6f768 -r 7bd37c5c7289 tools/python/xen/xend/image.py
--- a/tools/python/xen/xend/image.py    Fri Oct 23 10:19:58 2009 +0100
+++ b/tools/python/xen/xend/image.py    Fri Oct 23 10:20:28 2009 +0100
@@ -561,7 +561,11 @@ class ImageHandler:
             return
         self.sentinel_lock.acquire()
         try:
-            if self.pid:
+            stubdomid = self.vm.getStubdomDomid()
+            if stubdomid is not None :
+                from xen.xend import XendDomain
+                XendDomain.instance().domain_destroy(stubdomid)
+            elif self.pid:
                 try:
                     os.kill(self.pid, signal.SIGHUP)
                 except OSError, exn:

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-3.4-testing] xend: destroy stubdoms synchronously, Xen patchbot-3.4-testing <=