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-devel

[Xen-devel] [PATCH] Schedule shutdown fix

To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH] Schedule shutdown fix
From: Ben Guthro <bguthro@xxxxxxxxxxxxxxx>
Date: Mon, 10 Mar 2008 15:14:45 -0400
Delivery-date: Mon, 10 Mar 2008 12:15:18 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.5 (X11/20070719)
domain_shutdown() needs to call raise_softirq(SCHEDULE_SOFTIRQ).
This forces the current vcpu to be rescheduled and paused.
Without this, during live migrate, if another vcpu has defer_shutdown==1
then the current vcpu can return from domain_shutdown(),
do a vmenter, and continue running guest code, "resume" code that
should only be running on the receiving node!

Signed-off-by: Robert Phillips <rphillips@xxxxxxxxxxxxxxx>
Signed-off-by: Ben Guthro <bguthro@xxxxxxxxxxxxxxx>
diff -r 4674efa621d4 xen/common/domain.c
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -415,6 +415,7 @@ void domain_shutdown(struct domain *d, u
     __domain_finalise_shutdown(d);
 
     spin_unlock(&d->shutdown_lock);
+    raise_softirq(SCHEDULE_SOFTIRQ);
 }
 
 void domain_resume(struct domain *d)
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>