kvm: x86: Deliver MSI IRQ to only lowest prio cpu if msi_redir_hint is true
authorJames Sullivan <sullivan.james.f@gmail.com>
Thu, 19 Mar 2015 01:26:04 +0000 (19:26 -0600)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 7 May 2015 09:29:45 +0000 (11:29 +0200)
commitd1ebdbf99a3ce90f3b886c2cf0dfd7da17703d2a
treedc8aeb229f4347806c72a48473e5f18cfc43831b
parent93bbf0b8bc80f0ee3c629542a4dea14a3537760b
kvm: x86: Deliver MSI IRQ to only lowest prio cpu if msi_redir_hint is true

An MSI interrupt should only be delivered to the lowest priority CPU
when it has RH=1, regardless of the delivery mode. Modified
kvm_is_dm_lowest_prio() to check for either irq->delivery_mode == APIC_DM_LOWPRI
or irq->msi_redir_hint.

Moved kvm_is_dm_lowest_prio() into lapic.h and renamed to
kvm_lowest_prio_delivery().

Changed a check in kvm_irq_delivery_to_apic_fast() from
irq->delivery_mode == APIC_DM_LOWPRI to kvm_is_dm_lowest_prio().

Signed-off-by: James Sullivan <sullivan.james.f@gmail.com>
Reviewed-by: Radim Krčmář <rkrcmar@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/irq_comm.c
arch/x86/kvm/lapic.c
arch/x86/kvm/lapic.h