From: Yang Zhang <yang.z.zhang@xxxxxxxxx> Current interrupt coalescing logci which only used by RTC has conflict with Posted Interrupt. This patch introduces a new mechinism to use eoi to track interrupt: When delivering an interrupt to vcpu, the pending_eoi set to number of vcpu that received the interrupt. And decrease it when each vcpu writing eoi. No subsequent RTC interrupt can deliver to vcpu until all vcpus write eoi. Changes from v8 to v9 * Removing pass vector to __rtc_irq_eoi_tracking_restore_one. * Rebase on top of KVM. Changes from v7 to v8 * Revamping restore logic. * Add BUG_ON to check pending_eoi. * Rebase on top of KVM. Yang Zhang (7): KVM: Add vcpu info to ioapic_update_eoi() KVM: Introduce struct rtc_status KVM: Return destination vcpu on interrupt injection KVM: Add reset/restore rtc_status support KVM: Force vmexit with virtual interrupt delivery KVM: Let ioapic know the irq line status KVM: Use eoi to track RTC interrupt delivery status arch/x86/kvm/i8254.c | 4 +- arch/x86/kvm/lapic.c | 36 +++++++++---- arch/x86/kvm/lapic.h | 7 ++- arch/x86/kvm/x86.c | 6 ++- include/linux/kvm_host.h | 11 +++-- virt/kvm/assigned-dev.c | 13 +++-- virt/kvm/eventfd.c | 15 +++-- virt/kvm/ioapic.c | 129 ++++++++++++++++++++++++++++++++++++++++------ virt/kvm/ioapic.h | 20 ++++++- virt/kvm/irq_comm.c | 31 ++++++----- virt/kvm/kvm_main.c | 3 +- 11 files changed, 210 insertions(+), 65 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html