diff options
author | Avi Kivity <avi@redhat.com> | 2008-11-23 18:08:57 +0200 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2008-12-31 16:55:00 +0200 |
commit | df203ec9a77a7236cb90456664d714423b98a977 (patch) | |
tree | fc86d8072405aa5c196880fc0b328dacbd8d3a6e | |
parent | 8fe0736763a07fbea56213ea105a0c2ee098e6fc (diff) | |
download | linux-3.10-df203ec9a77a7236cb90456664d714423b98a977.tar.gz linux-3.10-df203ec9a77a7236cb90456664d714423b98a977.tar.bz2 linux-3.10-df203ec9a77a7236cb90456664d714423b98a977.zip |
KVM: VMX: Conditionally request interrupt window after injecting irq
If we're injecting an interrupt, and another one is pending, request
an interrupt window notification so we don't have excess latency on the
second interrupt.
This shouldn't happen in practice since an EOI will be issued, giving a second
chance to request an interrupt window, but...
Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r-- | arch/x86/kvm/vmx.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index f5958a7823f..7ea485543cf 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -3304,6 +3304,8 @@ static void vmx_intr_assist(struct kvm_vcpu *vcpu) if (vcpu->arch.interrupt.pending) { vmx_inject_irq(vcpu, vcpu->arch.interrupt.nr); kvm_timer_intr_post(vcpu, vcpu->arch.interrupt.nr); + if (kvm_cpu_has_interrupt(vcpu)) + enable_irq_window(vcpu); } } |