kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/6] x86, apicv: Add APIC virtualizatin support
@ 2012-11-21  8:09 Yang Zhang
  2012-11-21  8:09 ` [PATCH v2 1/6] x86: PIT connects to pin 2 of IOAPIC Yang Zhang
                   ` (5 more replies)
  0 siblings, 6 replies; 29+ messages in thread
From: Yang Zhang @ 2012-11-21  8:09 UTC (permalink / raw)
  To: kvm; +Cc: mtosatti, gleb, Yang Zhang

APIC virtualization is a new feature which can eliminate most of VM exit
when vcpu handle a interrupt:

APIC register virtualization: 
	APIC read access doesn't cause APIC-access VM exits.
	APIC write becomes trap-like.

Virtual interrupt delivery:
	Virtual interrupt delivery avoids KVM to inject vAPIC interrupts
	manually, which is fully taken care of by the hardware.

Posted Interrupt:
	Posted Interrupt allows vAPICV interrupts to inject into guest directly
	without cause VM exit

Please refer to Intel SDM volume 3, chapter 29 for more details.

Changes v1 to v2:
 * Add Posted Interrupt support in this series patch.
 * Since there is a notifer hook in vAPIC EOI for PIT interrupt. So always Set PIT
   interrupt in eoi exit bitmap to force vmexit when EOI to interrupt.
 * Rebased on top of KVM upstream

Yang Zhang (6):
  x86: PIT connects to pin 2 of IOAPIC
  x86, apicv: add APICv register virtualization support
  x86, apicv: add virtual interrupt delivery support
  x86, apicv: add virtual x2apic support
  x86: Enable ack interrupt on vmexit
  x86, apicv: Add Posted Interrupt supporting

 arch/x86/include/asm/kvm_host.h |    7 +
 arch/x86/include/asm/vmx.h      |   17 ++
 arch/x86/kernel/apic/io_apic.c  |  138 +++++++++++++
 arch/x86/kvm/irq.c              |   44 ++++
 arch/x86/kvm/lapic.c            |   91 ++++++++-
 arch/x86/kvm/lapic.h            |   23 ++
 arch/x86/kvm/svm.c              |    6 +
 arch/x86/kvm/vmx.c              |  420 +++++++++++++++++++++++++++++++++++++--
 arch/x86/kvm/x86.c              |   18 ++-
 include/linux/kvm_host.h        |    1 +
 virt/kvm/ioapic.c               |    3 +-
 virt/kvm/kvm_main.c             |    2 +
 12 files changed, 749 insertions(+), 21 deletions(-)


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

end of thread, other threads:[~2012-11-28 11:32 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-21  8:09 [PATCH v2 0/6] x86, apicv: Add APIC virtualizatin support Yang Zhang
2012-11-21  8:09 ` [PATCH v2 1/6] x86: PIT connects to pin 2 of IOAPIC Yang Zhang
2012-11-28 10:50   ` Gleb Natapov
2012-11-21  8:09 ` [PATCH v2 2/6] x86, apicv: add APICv register virtualization support Yang Zhang
2012-11-21  8:09 ` [PATCH v2 3/6] x86, apicv: add virtual interrupt delivery support Yang Zhang
2012-11-22 13:57   ` Gleb Natapov
2012-11-23 11:46     ` Zhang, Yang Z
2012-11-25  8:53       ` Gleb Natapov
2012-11-21  8:09 ` [PATCH v2 4/6] x86, apicv: add virtual x2apic support Yang Zhang
2012-11-21  8:09 ` [PATCH v2 5/6] x86: Enable ack interrupt on vmexit Yang Zhang
2012-11-22 15:22   ` Gleb Natapov
2012-11-23  5:41     ` Zhang, Yang Z
2012-11-25 13:30       ` Gleb Natapov
2012-11-25 12:55     ` Avi Kivity
2012-11-25 13:03       ` Gleb Natapov
2012-11-25 13:11         ` Avi Kivity
2012-11-26  5:44           ` Zhang, Yang Z
2012-11-26  9:17             ` Gleb Natapov
2012-11-21  8:09 ` [PATCH v2 6/6] x86, apicv: Add Posted Interrupt supporting Yang Zhang
2012-11-25 12:39   ` Gleb Natapov
2012-11-26  3:51     ` Zhang, Yang Z
2012-11-26 10:01       ` Gleb Natapov
2012-11-26 12:29         ` Zhang, Yang Z
2012-11-26 13:48           ` Gleb Natapov
2012-11-27  3:38             ` Zhang, Yang Z
2012-11-27  9:16               ` Gleb Natapov
2012-11-27 11:10                 ` Zhang, Yang Z
2012-11-27 11:31                   ` Veruca Salt
2012-11-27 11:46                   ` Gleb Natapov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).