* [PATCH 1/3] KVM: x86: set KVM_REQ_EVENT on local interupt request from user space
@ 2015-11-12 19:08 Matt Gingell
2015-11-13 8:56 ` Paolo Bonzini
0 siblings, 1 reply; 2+ messages in thread
From: Matt Gingell @ 2015-11-12 19:08 UTC (permalink / raw)
To: kvm; +Cc: Steve Rutherford
Set KVM_REQ_EVENT when a PIC in user space injects a local interrupt.
Currently a request is only made when neither the PIC nor the APIC is in
the kernel, which is not sufficient in the split IRQ chip case.
This addresses a problem in QEMU where interrupts are delayed until
another path invokes the event loop.
Reviewed-by: Andy Honig <ahonig@google.com>
Signed-off-by: Matt Gingell <gingell@google.com>
---
arch/x86/kvm/x86.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 30723a4..456973b 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2683,6 +2683,7 @@ static int kvm_vcpu_ioctl_interrupt(struct kvm_vcpu *vcpu,
return -EEXIST;
vcpu->arch.pending_external_vector = irq->irq;
+ kvm_make_request(KVM_REQ_EVENT, vcpu);
return 0;
}
--
2.6.0.rc2.230.g3dd15c0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH 1/3] KVM: x86: set KVM_REQ_EVENT on local interupt request from user space
2015-11-12 19:08 [PATCH 1/3] KVM: x86: set KVM_REQ_EVENT on local interupt request from user space Matt Gingell
@ 2015-11-13 8:56 ` Paolo Bonzini
0 siblings, 0 replies; 2+ messages in thread
From: Paolo Bonzini @ 2015-11-13 8:56 UTC (permalink / raw)
To: Matt Gingell, kvm; +Cc: Steve Rutherford
On 12/11/2015 20:08, Matt Gingell wrote:
> Set KVM_REQ_EVENT when a PIC in user space injects a local interrupt.
>
> Currently a request is only made when neither the PIC nor the APIC is in
> the kernel, which is not sufficient in the split IRQ chip case.
>
> This addresses a problem in QEMU where interrupts are delayed until
> another path invokes the event loop.
>
> Reviewed-by: Andy Honig <ahonig@google.com>
> Signed-off-by: Matt Gingell <gingell@google.com>
> ---
> arch/x86/kvm/x86.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index 30723a4..456973b 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -2683,6 +2683,7 @@ static int kvm_vcpu_ioctl_interrupt(struct kvm_vcpu *vcpu,
> return -EEXIST;
>
> vcpu->arch.pending_external_vector = irq->irq;
> + kvm_make_request(KVM_REQ_EVENT, vcpu);
> return 0;
> }
>
>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-11-13 8:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-12 19:08 [PATCH 1/3] KVM: x86: set KVM_REQ_EVENT on local interupt request from user space Matt Gingell
2015-11-13 8:56 ` Paolo Bonzini
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.