Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759908AbdLRRR4 (ORCPT ); Mon, 18 Dec 2017 12:17:56 -0500 Received: from mx1.redhat.com ([209.132.183.28]:56596 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759870AbdLRRRw (ORCPT ); Mon, 18 Dec 2017 12:17:52 -0500 From: Vitaly Kuznetsov To: kvm@vger.kernel.org Cc: x86@kernel.org, Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , "K. Y. Srinivasan" , Haiyang Zhang , Stephen Hemminger , "Michael Kelley (EOSG)" , Mohammed Gamal , Cathy Avery , Bandan Das , Roman Kagan , 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 Message-Id: <20171218171742.5765-1-vkuznets@redhat.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Mon, 18 Dec 2017 17:17:52 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1607 Lines: 38 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