On Thu, Apr 11, 2013 at 07:21:34PM +0800, Yang Zhang wrote: > 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. > Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> > Changes from v9 to v10 > * Remove irq check and line_status check from rtc_irq_check_coalesced() to > kvm_ioapic_set_irq(). > * Rebase on top of KVM. > > 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 | 126 ++++++++++++++++++++++++++++++++++++++++------ > virt/kvm/ioapic.h | 20 ++++++- > virt/kvm/irq_comm.c | 31 +++++++----- > virt/kvm/kvm_main.c | 3 +- > 11 files changed, 207 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 -- Gleb. -- 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