[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [IA64] fix a bug in vmx_send_assist_req()



# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID 0114b372dfaead0a97a5bc5933dff21ac1178846
# Parent  8254ba7c0defcebb9b439a91468b6cfae89b5dc2
[IA64] fix a bug in vmx_send_assist_req()

We must do_softirq() explicitly to enter scheduler

If not, booting a windows guest and a linux guest at the same time
will lead to a system hang.

Signed-off-by: Zhang Xin <xing.z.zhang@xxxxxxxxx>
---
 xen/arch/ia64/vmx/vmx_support.c |    6 +-----
 1 files changed, 1 insertion(+), 5 deletions(-)

diff -r 8254ba7c0def -r 0114b372dfae xen/arch/ia64/vmx/vmx_support.c
--- a/xen/arch/ia64/vmx/vmx_support.c   Wed Nov 22 10:10:38 2006 -0700
+++ b/xen/arch/ia64/vmx/vmx_support.c   Wed Nov 22 10:13:31 2006 -0700
@@ -76,11 +76,6 @@ void vmx_send_assist_req(struct vcpu *v)
     p->state = STATE_IOREQ_READY;
     notify_via_xen_event_channel(v->arch.arch_vmx.xen_port);
 
-    /*
-     * Waiting for MMIO completion
-     *   like the wait_on_xen_event_channel() macro like...
-     *   but, we can't call do_softirq() at this point..
-     */
     for (;;) {
         if (p->state != STATE_IOREQ_READY &&
             p->state != STATE_IOREQ_INPROCESS)
@@ -96,6 +91,7 @@ void vmx_send_assist_req(struct vcpu *v)
         }
 
         raise_softirq(SCHEDULE_SOFTIRQ);
+        do_softirq();
         mb();
     }
 

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.