public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Vitaly Kuznetsov <vkuznets@redhat.com>
To: kvm@vger.kernel.org
Cc: x86@kernel.org, "Paolo Bonzini" <pbonzini@redhat.com>,
	"Radim Krčmář" <rkrcmar@redhat.com>,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	"Haiyang Zhang" <haiyangz@microsoft.com>,
	"Stephen Hemminger" <sthemmin@microsoft.com>,
	"Michael Kelley (EOSG)" <Michael.H.Kelley@microsoft.com>,
	"Mohammed Gamal" <mmorsy@redhat.com>,
	"Cathy Avery" <cavery@redhat.com>, "Bandan Das" <bsd@redhat.com>,
	"Roman Kagan" <rkagan@virtuozzo.com>,
	linux-kernel@vger.kernel.org, devel@linuxdriverproject.org
Subject: [PATCH RFC 0/7] KVM: nVMX: enlightened VMCS initial implementation
Date: Mon, 18 Dec 2017 18:17:35 +0100	[thread overview]
Message-ID: <20171218171742.5765-1-vkuznets@redhat.com> (raw)

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

             reply	other threads:[~2017-12-18 17:17 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-18 17:17 Vitaly Kuznetsov [this message]
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

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=20171218171742.5765-1-vkuznets@redhat.com \
    --to=vkuznets@redhat.com \
    --cc=Michael.H.Kelley@microsoft.com \
    --cc=bsd@redhat.com \
    --cc=cavery@redhat.com \
    --cc=devel@linuxdriverproject.org \
    --cc=haiyangz@microsoft.com \
    --cc=kvm@vger.kernel.org \
    --cc=kys@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mmorsy@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=rkagan@virtuozzo.com \
    --cc=rkrcmar@redhat.com \
    --cc=sthemmin@microsoft.com \
    --cc=x86@kernel.org \
    /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