repository: /home/avi/kvm/linux-2.6 branch: master commit b622204087b5dbdc76b39cbfa288a41d325e3e9a Author: Avi Kivity <[EMAIL PROTECTED]> Date: Wed Oct 17 12:20:21 2007 +0200
KVM: Actually move the interrupt injection code out of the critical section Commit 817b54a86b0a3e0e5955714b84577101ffff9c59 claimed to do this, but actually didn't (despite laying all the infrastructure for it). This completes the movement. Noticed by Eddie Dong. Signed-off-by: Avi Kivity <[EMAIL PROTECTED]> diff --git a/drivers/kvm/kvm_main.c b/drivers/kvm/kvm_main.c index bebdd34..aab465d 100644 --- a/drivers/kvm/kvm_main.c +++ b/drivers/kvm/kvm_main.c @@ -2166,6 +2166,11 @@ again: goto out; kvm_inject_pending_timer_irqs(vcpu); + clear_bit(KVM_REQ_INTR, &vcpu->requests); + if (irqchip_in_kernel(vcpu->kvm)) + kvm_x86_ops->inject_pending_irq(vcpu); + else if (!vcpu->mmio_read_completed) + kvm_x86_ops->inject_pending_vectors(vcpu, kvm_run); preempt_disable(); @@ -2174,13 +2179,6 @@ again: local_irq_disable(); - kvm_inject_pending_timer_irqs(vcpu); - clear_bit(KVM_REQ_INTR, &vcpu->requests); - if (irqchip_in_kernel(vcpu->kvm)) - kvm_x86_ops->inject_pending_irq(vcpu); - else if (!vcpu->mmio_read_completed) - kvm_x86_ops->inject_pending_vectors(vcpu, kvm_run); - if (signal_pending(current)) { local_irq_enable(); preempt_enable(); ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ kvm-commits mailing list kvm-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-commits