mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
[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@intel.com>
This commit is contained in:
1 parent
d28132e9b9
commit
ffc7a87f65
1 file changed
+1
-5
@@ -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();
|
||||
}
|
||||
|
||||
|
||||