From: Yang Zhang <yang.z.zhang@intel.com>
To: kvm@vger.kernel.org
Cc: gleb@redhat.com, mtosatti@redhat.com, xiantao.zhang@intel.com,
Yang Zhang <yang.z.zhang@Intel.com>
Subject: [PATCH v2 0/8] Use eoi to track RTC interrupt delivery status
Date: Mon, 18 Mar 2013 15:24:31 +0800 [thread overview]
Message-ID: <1363591479-4653-1-git-send-email-yang.z.zhang@intel.com> (raw)
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 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 | 158 ++++++++++++++++++++++++++++++++++++++++++++++----
virt/kvm/ioapic.h | 14 ++++-
virt/kvm/irq_comm.c | 4 +-
5 files changed, 198 insertions(+), 34 deletions(-)
next reply other threads:[~2013-03-18 7:29 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-18 7:24 Yang Zhang [this message]
2013-03-18 7:24 ` [PATCH v2 1/8] KVM: Parse ioapic entry to get destination vcpu Yang Zhang
2013-03-18 7:24 ` [PATCH v2 2/8] KVM: Rename kvm_ioapic_make_eoibitmap_request to kvm_scan_ioapic_entry Yang Zhang
2013-03-18 7:24 ` [PATCH v2 3/8] KVM: Add vcpu info to ioapic_update_eoi() Yang Zhang
2013-03-18 7:24 ` [PATCH v2 4/8] KVM: Introduce struct rtc_status Yang Zhang
2013-03-18 9:40 ` Gleb Natapov
2013-03-18 10:45 ` Zhang, Yang Z
2013-03-18 7:24 ` [PATCH v2 5/8] KVM: Recalculate destination vcpu map Yang Zhang
2013-03-18 9:45 ` Gleb Natapov
2013-03-18 10:48 ` Zhang, Yang Z
2013-03-18 7:24 ` [PATCH v2 6/8] KVM: Add reset/restore rtc_status support Yang Zhang
2013-03-19 20:55 ` Marcelo Tosatti
2013-03-20 2:42 ` Zhang, Yang Z
2013-03-20 11:43 ` Zhang, Yang Z
2013-03-19 21:01 ` Marcelo Tosatti
2013-03-20 2:44 ` Zhang, Yang Z
2013-03-18 7:24 ` [PATCH v2 7/8] KVM: Add rtc irq to eoi exit bitmap Yang Zhang
2013-03-18 7:24 ` [PATCH v2 8/8] KVM: Use eoi to track RTC interrupt delivery status Yang Zhang
2013-03-18 10:11 ` Gleb Natapov
2013-03-18 10:49 ` Zhang, Yang Z
2013-03-19 23:28 ` Marcelo Tosatti
2013-03-20 2:47 ` Zhang, Yang Z
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1363591479-4653-1-git-send-email-yang.z.zhang@intel.com \
--to=yang.z.zhang@intel.com \
--cc=gleb@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=xiantao.zhang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox