Currently, when a guest has the pit running but masked, it will accumulate
pending irq injection requests but will never ack them (as the interrupts
are masked).  When the interrupt is finally unmasked, the reinject logic
ignores pending interrupts since it sees unacked pending irqs.

Add a notifier on irq unmasking, and use that in the PIT to clear the
reinject logic.

Currently only ioapic mask notifications are implemented.

This could be used to disable the hrtimer if the guest masks the PIT and
uses some other timer.

Please review.

Avi Kivity (3):
  KVM: Add CONFIG_HAVE_KVM_IRQCHIP
  KVM: Interrupt mask notifiers for ioapic
  KVM: Reset PIT irq injection logic when the PIT IRQ is unmasked

 arch/ia64/kvm/Kconfig    |    4 ++++
 arch/powerpc/kvm/Kconfig |    3 +++
 arch/s390/kvm/Kconfig    |    3 +++
 arch/x86/kvm/Kconfig     |    4 ++++
 arch/x86/kvm/i8254.c     |   15 +++++++++++++++
 arch/x86/kvm/i8254.h     |    1 +
 include/linux/kvm_host.h |   17 +++++++++++++++++
 virt/kvm/ioapic.c        |    7 ++++++-
 virt/kvm/irq_comm.c      |   24 ++++++++++++++++++++++++
 virt/kvm/kvm_main.c      |    3 +++
 10 files changed, 80 insertions(+), 1 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to