public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC 0/7] KVM: nVMX: enlightened VMCS initial implementation
@ 2017-12-18 17:17 Vitaly Kuznetsov
  2017-12-18 17:17 ` [PATCH RFC 1/7] KVM: x86: rename HV_X64_MSR_APIC_ASSIST_PAGE to HV_X64_MSR_VP_ASSIST_PAGE Vitaly Kuznetsov
                   ` (7 more replies)
  0 siblings, 8 replies; 21+ messages in thread
From: Vitaly Kuznetsov @ 2017-12-18 17:17 UTC (permalink / raw)
  To: kvm
  Cc: x86, Paolo Bonzini, Radim Krčmář, K. Y. Srinivasan,
	Haiyang Zhang, Stephen Hemminger, Michael Kelley (EOSG),
	Mohammed Gamal, Cathy Avery, Bandan Das, Roman Kagan,
	linux-kernel, devel

The original author of these patches does no longer work at Red Hat, I
agreed to take this over and send upstream. Here is his original
description:

"Makes KVM implement the enlightened VMCS feature per Hyper-V TLFS 5.0b.
I've measured about %5 improvement in cost of a nested VM exit (Hyper-V
enabled Windows Server 2016 nested in KVM)."

This is just an initial implementation. By leveraging clean fields mask
we can further improve performance. I'm also interested in implementing
the other part of the feature: consuming enlightened VMCS when KVM is
running on top of Hyper-V.

Ladi Prosek (7):
  KVM: x86: rename HV_X64_MSR_APIC_ASSIST_PAGE to
    HV_X64_MSR_VP_ASSIST_PAGE
  KVM: nVMX: modify vmcs12 fields to match Hyper-V enlightened VMCS
  KVM: nVMX: add I/O exit ECX, ESI, EDI, EIP vmcs12 fields
  KVM: hyperv: define VP assist page structure and add helpers
  KVM: nVMX: add KVM_CAP_HYPERV_ENLIGHTENED_VMCS capability
  KVM: nVMX: add enlightened VMCS state
  KVM: nVMX: implement enlightened VMPTRLD

 arch/x86/include/asm/kvm_host.h    |   3 +
 arch/x86/include/asm/vmx.h         |   4 +
 arch/x86/include/uapi/asm/hyperv.h |  20 +-
 arch/x86/kvm/hyperv.c              |  31 ++-
 arch/x86/kvm/hyperv.h              |   4 +
 arch/x86/kvm/lapic.c               |   4 +-
 arch/x86/kvm/lapic.h               |   4 +-
 arch/x86/kvm/svm.c                 |   9 +
 arch/x86/kvm/vmx.c                 | 467 ++++++++++++++++++++++++++-----------
 arch/x86/kvm/x86.c                 |  19 +-
 include/uapi/linux/kvm.h           |   1 +
 11 files changed, 407 insertions(+), 159 deletions(-)

-- 
2.14.3

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

end of thread, other threads:[~2017-12-21 15:08 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-18 17:17 [PATCH RFC 0/7] KVM: nVMX: enlightened VMCS initial implementation Vitaly Kuznetsov
2017-12-18 17:17 ` [PATCH RFC 1/7] KVM: x86: rename HV_X64_MSR_APIC_ASSIST_PAGE to HV_X64_MSR_VP_ASSIST_PAGE Vitaly Kuznetsov
2017-12-18 17:17 ` [PATCH RFC 2/7] KVM: nVMX: modify vmcs12 fields to match Hyper-V enlightened VMCS Vitaly Kuznetsov
2017-12-18 20:23   ` Jim Mattson
2017-12-18 21:28     ` Jim Mattson
2017-12-19 12:25       ` Vitaly Kuznetsov
2017-12-19 12:37         ` Paolo Bonzini
2017-12-19 17:40           ` Jim Mattson
2017-12-19 21:19             ` Paolo Bonzini
2017-12-21 13:02           ` Vitaly Kuznetsov
2017-12-19 17:44         ` Jim Mattson
2017-12-18 17:17 ` [PATCH RFC 3/7] KVM: nVMX: add I/O exit ECX, ESI, EDI, EIP vmcs12 fields Vitaly Kuznetsov
2017-12-18 17:17 ` [PATCH RFC 4/7] KVM: hyperv: define VP assist page structure and add helpers Vitaly Kuznetsov
2017-12-18 17:17 ` [PATCH RFC 5/7] KVM: nVMX: add KVM_CAP_HYPERV_ENLIGHTENED_VMCS capability Vitaly Kuznetsov
2017-12-18 17:17 ` [PATCH RFC 6/7] KVM: nVMX: add enlightened VMCS state Vitaly Kuznetsov
2017-12-18 17:17 ` [PATCH RFC 7/7] KVM: nVMX: implement enlightened VMPTRLD Vitaly Kuznetsov
2017-12-19 12:41 ` [PATCH RFC 0/7] KVM: nVMX: enlightened VMCS initial implementation Paolo Bonzini
2017-12-19 13:21   ` Vitaly Kuznetsov
2017-12-21 12:50     ` Vitaly Kuznetsov
2017-12-21 14:32       ` Paolo Bonzini
2017-12-21 15:08         ` Vitaly Kuznetsov

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