From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: Re: [PATCH v11 for-xen-4.5 15/20] x86/VPMU: Add support for PMU register handling on PV guests Date: Tue, 23 Sep 2014 11:49:50 -0400 Message-ID: <5421969E.5030306@oracle.com> References: <1411430281-6132-1-git-send-email-boris.ostrovsky@oracle.com> <1411430281-6132-16-git-send-email-boris.ostrovsky@oracle.com> <20140923150855.GJ3007@laptop.dumpdata.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20140923150855.GJ3007@laptop.dumpdata.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Konrad Rzeszutek Wilk Cc: kevin.tian@intel.com, keir@xen.org, jbeulich@suse.com, jun.nakajima@intel.com, andrew.cooper3@citrix.com, tim@xen.org, dietmar.hahn@ts.fujitsu.com, xen-devel@lists.xen.org, Aravind.Gopalakrishnan@amd.com, suravee.suthikulpanit@amd.com List-Id: xen-devel@lists.xenproject.org On 09/23/2014 11:08 AM, Konrad Rzeszutek Wilk wrote: >> static void core2_vpmu_load(struct vcpu *v) >> @@ -447,7 +461,6 @@ static int core2_vpmu_msr_common_check(u32 msr_index, int *type, int *index) >> static int core2_vpmu_do_wrmsr(unsigned int msr, uint64_t msr_content, >> uint64_t supported) >> { >> - u64 global_ctrl; >> int i, tmp; >> int type = -1, index = -1; >> struct vcpu *v = current; >> @@ -492,6 +505,7 @@ static int core2_vpmu_do_wrmsr(unsigned int msr, uint64_t msr_content, >> { >> case MSR_CORE_PERF_GLOBAL_OVF_CTRL: >> core2_vpmu_cxt->global_status &= ~msr_content; >> + wrmsrl(MSR_CORE_PERF_GLOBAL_OVF_CTRL, msr_content); > The original code does the write in core2_vpmu_do_interrupt with a bunch of filtering. > Is there a particular reason we don't want to do that? No good reason. We definitely should check whether the value we are writing is valid. (And masking in core2_vpmu_do_interrupt is slightly incorrect so I'll fix it as well) -boris