From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.2 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FSL_HELO_FAKE,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E75CFC49ED7 for ; Mon, 16 Sep 2019 21:17:49 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id AE32621670 for ; Mon, 16 Sep 2019 21:17:49 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="KgzW5qxA" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387936AbfIPVRs (ORCPT ); Mon, 16 Sep 2019 17:17:48 -0400 Received: from mail-pg1-f193.google.com ([209.85.215.193]:37967 "EHLO mail-pg1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728810AbfIPVRs (ORCPT ); Mon, 16 Sep 2019 17:17:48 -0400 Received: by mail-pg1-f193.google.com with SMTP id x10so704200pgi.5 for ; Mon, 16 Sep 2019 14:17:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=DUEm44CJ4MKeIi+5HtpZQadj3xFULJmnpjD5XuqmloQ=; b=KgzW5qxAyMtZJa12o2aGJGsvvNx8f61seMcyiOiN52mP18PFxAv6VNnJOVCdqYKfok xAszVeiJDUEuyfOw3Hhclrw0pJ0SEpB3FbScC6rbYw35i/VhJycqKOrpy159TBDO5vAJ bxqQxAuIBCuWpAA+DC9G3E7vBv1GhQ+Fe/TNxLf0yAd98D+mOXC/vViehsFdH+0kqSmF 69qbmrnwk1ESOK1gzRNyayfZlHBprhUxOAEMZ+PXMbyqYanZDcleA6+cz25cOjr6WFa2 AoKqzkqwSRLOwXEvnZGLZhygfkASCI8BLk6S3Scb2BEkeUKjdc5xgBgIrAGmAYTL4N/u zpFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=DUEm44CJ4MKeIi+5HtpZQadj3xFULJmnpjD5XuqmloQ=; b=jTXOl8SIFfATEab9+EKvB2O2XgkeU/R/Q87h56vv2M44d+M3BLkaNbiq/qZ4prwfi3 SQdQO5SA4aAWmHE2RAg+Cy/mW0EGYOIUOPpvQcoi9Sgj+oCbMvxOMvvJDFA1R7kOqGpH tl0zY+DM7CYIWKaFdI4IOppbXSJkYBAENUJ3tQIxzghg1K95XrwbO/q9uOzHWwyADmBd RgXeRR4rNXH8lcZADywmV3vBCB0Ka3Y5N85MwJnKhK5EJyQbtE7QEXQ/t98YLK9s7zqE LUFP5MRJPu2OB9pcxXlo6ULEtnGmQmSF3FQch5GqJp8y/9xKd0kzTSifG9CgU2QeDOss Z+Vw== X-Gm-Message-State: APjAAAUS/eOeiGJf/aIMyQiWUbonWDX66cL3t/8wGwGRPSAi6Jm1DSh3 BD7csykyWMgetuDKvMTWv5GMtw== X-Google-Smtp-Source: APXvYqyRIjlMfj91qphmULZ06gB7ijwvAUv+DkkE8r4gyoTACfmYaFk8KxWc1F66X9jLAQ3Ec8vwpw== X-Received: by 2002:a17:90a:21a9:: with SMTP id q38mr1271896pjc.23.1568668666871; Mon, 16 Sep 2019 14:17:46 -0700 (PDT) Received: from google.com ([2620:0:1009:11:73e5:72bd:51c7:44f6]) by smtp.gmail.com with ESMTPSA id h14sm20700pfo.15.2019.09.16.14.17.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Sep 2019 14:17:46 -0700 (PDT) Date: Mon, 16 Sep 2019 14:17:42 -0700 From: Oliver Upton To: Sean Christopherson Cc: kvm@vger.kernel.org, Paolo Bonzini , Radim =?utf-8?B?S3LEjW3DocWZ?= , Jim Mattson , Peter Shier , Krish Sadhukhan Subject: Re: [PATCH v4 2/9] KVM: nVMX: Load GUEST_IA32_PERF_GLOBAL_CTRL MSR on vm-entry Message-ID: <20190916211742.GA221782@google.com> References: <20190906210313.128316-1-oupton@google.com> <20190906210313.128316-3-oupton@google.com> <20190916180614.GF18871@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190916180614.GF18871@linux.intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org On Mon, Sep 16, 2019 at 11:06:14AM -0700, Sean Christopherson wrote: > On Fri, Sep 06, 2019 at 02:03:06PM -0700, Oliver Upton wrote: > > Add condition to prepare_vmcs02 which loads IA32_PERF_GLOBAL_CTRL on > > VM-entry if the "load IA32_PERF_GLOBAL_CTRL" bit on the VM-entry control > > is set. Use kvm_set_msr() rather than directly writing to the field to > > avoid overwrite by atomic_switch_perf_msrs(). > > > > Suggested-by: Jim Mattson > > Co-developed-by: Krish Sadhukhan > > Signed-off-by: Krish Sadhukhan > > Signed-off-by: Oliver Upton > > Reviewed-by: Jim Mattson > > Reviewed-by: Peter Shier > > --- > > arch/x86/kvm/vmx/nested.c | 11 +++++++++++ > > 1 file changed, 11 insertions(+) > > > > diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c > > index b0ca34bf4d21..9ba90b38d74b 100644 > > --- a/arch/x86/kvm/vmx/nested.c > > +++ b/arch/x86/kvm/vmx/nested.c > > @@ -2281,6 +2281,7 @@ static int prepare_vmcs02(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12, > > { > > struct vcpu_vmx *vmx = to_vmx(vcpu); > > struct hv_enlightened_vmcs *hv_evmcs = vmx->nested.hv_evmcs; > > + struct msr_data msr_info; > > bool load_guest_pdptrs_vmcs12 = false; > > > > if (vmx->nested.dirty_vmcs12 || hv_evmcs) { > > @@ -2404,6 +2405,16 @@ static int prepare_vmcs02(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12, > > if (!enable_ept) > > vcpu->arch.walk_mmu->inject_page_fault = vmx_inject_page_fault_nested; > > > > + if (vmcs12->vm_entry_controls & VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL) { > > + msr_info.host_initiated = false; > > + msr_info.index = MSR_CORE_PERF_GLOBAL_CTRL; > > + msr_info.data = vmcs12->guest_ia32_perf_global_ctrl; > > + if (kvm_set_msr(vcpu, &msr_info)) > > + pr_debug_ratelimited( > > + "%s cannot write MSR (0x%x, 0x%llx)\n", > > + __func__, msr_info.index, msr_info.data); > > Same comment on printing the name. Might be work adding a helper function > or macro? That'd also avoid blasting past the 80-column guideline. Thanks for the review, Sean. I believe that in one of the prior sets I mailed out you had mentioned a macro for this as well, but was a fix throughout KVM. Shall I introduce the macro as part of this series, but only apply it to my changes (and fix other call sites later on)? > > + } > > + > > kvm_rsp_write(vcpu, vmcs12->guest_rsp); > > kvm_rip_write(vcpu, vmcs12->guest_rip); > > return 0; > > -- > > 2.23.0.187.g17f5b7556c-goog > >