public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/8] Use eoi to track RTC interrupt delivery status
@ 2013-03-18 12:47 Yang Zhang
  2013-03-18 12:47 ` [PATCH v3 1/8] KVM: Parse ioapic entry to get destination vcpu Yang Zhang
                   ` (7 more replies)
  0 siblings, 8 replies; 11+ messages in thread
From: Yang Zhang @ 2013-03-18 12:47 UTC (permalink / raw)
  To: kvm; +Cc: gleb, mtosatti, xiantao.zhang, Yang Zhang

From: Yang Zhang <yang.z.zhang@Intel.com>

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 need_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 v2 to v3:
* Remove unused irq_ack_notifier.
* Acquire ioapic->lock before calculte destination vcpu map.
* Copy vcpu_map to expected_eoi_timap on each RTC irq and clear it on eoi.

Changes from v1 to v2:
* Don't register a dumy ack notifier for RTC. Check it directly when calculating
  eoi exit bitmap.
* Use kvm_apic_pending_eoi() instead call apic_test_vector() directly.
* Check coalesced info before set ioapic->irr
* Calculate destination vcpu map of RTC when ioapic entry or apic(id,ldr/dfr) changed.
  And only set need_eoi when delivering RTC interrupt.

Yang Zhang (8):
  KVM: Parse ioapic entry to get destination vcpu
  KVM: Rename kvm_ioapic_make_eoibitmap_request to
    kvm_scan_ioapic_entry
  KVM: Add vcpu info to ioapic_update_eoi()
  KVM: Introduce struct rtc_status
  KVM: Recalculate destination vcpu map
  KVM: Add reset/restore rtc_status support
  KVM: Add rtc irq to eoi exit bitmap
  KVM: Use eoi to track RTC interrupt delivery status

 arch/x86/kvm/lapic.c |   52 ++++++++++------
 arch/x86/kvm/lapic.h |    4 +
 virt/kvm/ioapic.c    |  165 ++++++++++++++++++++++++++++++++++++++++++++++----
 virt/kvm/ioapic.h    |   14 ++++-
 virt/kvm/irq_comm.c  |    4 +-
 5 files changed, 205 insertions(+), 34 deletions(-)


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2013-03-20  6:02 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-18 12:47 [PATCH v3 0/8] Use eoi to track RTC interrupt delivery status Yang Zhang
2013-03-18 12:47 ` [PATCH v3 1/8] KVM: Parse ioapic entry to get destination vcpu Yang Zhang
2013-03-18 12:47 ` [PATCH v3 2/8] KVM: Rename kvm_ioapic_make_eoibitmap_request to kvm_scan_ioapic_entry Yang Zhang
2013-03-18 12:47 ` [PATCH v3 3/8] KVM: Add vcpu info to ioapic_update_eoi() Yang Zhang
2013-03-18 12:47 ` [PATCH v3 4/8] KVM: Introduce struct rtc_status Yang Zhang
2013-03-18 12:47 ` [PATCH v3 5/8] KVM: Recalculate destination vcpu map Yang Zhang
2013-03-19  7:46   ` Gleb Natapov
2013-03-20  6:02     ` Zhang, Yang Z
2013-03-18 12:47 ` [PATCH v3 6/8] KVM: Add reset/restore rtc_status support Yang Zhang
2013-03-18 12:47 ` [PATCH v3 7/8] KVM: Add rtc irq to eoi exit bitmap Yang Zhang
2013-03-18 12:47 ` [PATCH v3 8/8] KVM: Use eoi to track RTC interrupt delivery status Yang Zhang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox