public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/6] Use eoi to track RTC interrupt delivery status
@ 2013-03-22  5:23 Yang Zhang
  2013-03-22  5:24 ` [PATCH v6 1/6] KVM: Add vcpu info to ioapic_update_eoi() Yang Zhang
                   ` (5 more replies)
  0 siblings, 6 replies; 33+ messages in thread
From: Yang Zhang @ 2013-03-22  5:23 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 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 v5 to v6
* Move set dest_map logic into __apic_accept_irq().
* Use RTC_GSI to distinguish different platform, and drop all CONFIG_X86.
* Rebase on top of KVM.

Changes from v4 to v5
* Calculate destination vcpu on interrupt injection not hook into ioapic
  modification.
* Rebase on top of KVM.

Changes from v3 to v4
* Call kvm_apic_match_dest() to check destination vcpu.
* Update RTC interrrupt's destination vcpu map when ioapic entry of RTC
  or apic register (id, ldr, dfr) is changed.

Changes from v2 to v3:
* Remove unused viarable 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.

Yang Zhang (6):
  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: Use eoi to track RTC interrupt delivery status

 arch/x86/kvm/lapic.c |   35 +++++++++++++++------
 arch/x86/kvm/lapic.h |    7 +++-
 virt/kvm/ioapic.c    |   82 +++++++++++++++++++++++++++++++++++++++++++++-----
 virt/kvm/ioapic.h    |   17 +++++++++-
 virt/kvm/irq_comm.c  |   12 ++++----
 5 files changed, 125 insertions(+), 28 deletions(-)


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

end of thread, other threads:[~2013-04-03  4:03 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-22  5:23 [PATCH v6 0/6] Use eoi to track RTC interrupt delivery status Yang Zhang
2013-03-22  5:24 ` [PATCH v6 1/6] KVM: Add vcpu info to ioapic_update_eoi() Yang Zhang
2013-03-22  5:24 ` [PATCH v6 2/6] KVM: Introduce struct rtc_status Yang Zhang
2013-03-22  5:24 ` [PATCH v6 3/6] KVM : Return destination vcpu on interrupt injection Yang Zhang
2013-03-22  7:05   ` Gleb Natapov
2013-03-22  7:50     ` Zhang, Yang Z
2013-03-22  7:57       ` Gleb Natapov
2013-03-22  5:24 ` [PATCH v6 4/6] KVM: Add reset/restore rtc_status support Yang Zhang
2013-03-26 14:04   ` Paolo Bonzini
2013-03-29  3:17     ` Zhang, Yang Z
2013-03-26 14:09   ` Paolo Bonzini
2013-03-29  3:19     ` Zhang, Yang Z
2013-03-22  5:24 ` [PATCH v6 5/6] KVM : Force vmexit with virtual interrupt delivery Yang Zhang
2013-03-22  5:24 ` [PATCH v6 6/6] KVM: Use eoi to track RTC interrupt delivery status Yang Zhang
2013-03-22  7:50   ` Gleb Natapov
2013-03-22  8:05     ` Zhang, Yang Z
2013-03-22  8:14       ` Gleb Natapov
2013-03-22  8:25         ` Zhang, Yang Z
2013-03-22  8:30           ` Gleb Natapov
2013-03-22  8:37             ` Zhang, Yang Z
2013-03-22  8:44               ` Gleb Natapov
2013-03-22  8:51                 ` Zhang, Yang Z
2013-03-22  8:54                   ` Gleb Natapov
2013-03-22 10:50                     ` Zhang, Yang Z
2013-03-24  9:20                       ` Gleb Natapov
2013-03-26 14:26                     ` Paolo Bonzini
2013-03-26 14:14   ` Paolo Bonzini
2013-03-29  3:25     ` Zhang, Yang Z
2013-03-29  8:35       ` Paolo Bonzini
2013-03-29  8:42         ` Zhang, Yang Z
2013-04-02 13:08       ` Gleb Natapov
2013-04-03  0:21         ` Zhang, Yang Z
2013-04-03  4:03           ` Gleb Natapov

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