KVM: arm/arm64: vgic: Kick VCPUs when queueing already pending IRQs
authorShih-Wei Li <shihwei@cs.columbia.edu>
Thu, 27 Oct 2016 15:08:13 +0000 (15:08 +0000)
committerMarc Zyngier <marc.zyngier@arm.com>
Fri, 4 Nov 2016 17:56:56 +0000 (17:56 +0000)
commitd42c79701a3ee5c38fbbc82f98a140420bd40134
treea279e574dfee0728062122f33ef5b7fa90e8638f
parent112b0b8f8f6e18d4695d21457961c0e1b322a1d7
KVM: arm/arm64: vgic: Kick VCPUs when queueing already pending IRQs

In cases like IPI, we could be queueing an interrupt for a VCPU
that is already running and is not about to exit, because the
VCPU has entered the VM with the interrupt pending and would
not trap on EOI'ing that interrupt. This could result to delays
in interrupt deliveries or even loss of interrupts.
To guarantee prompt interrupt injection, here we have to try to
kick the VCPU.

Signed-off-by: Shih-Wei Li <shihwei@cs.columbia.edu>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
virt/kvm/arm/vgic/vgic.c