From mboxrd@z Thu Jan 1 00:00:00 1970 From: Suravee Suthikulanit Subject: Re: [PATCH v2 8/9] x86/AMD: Clean up context_update() in AMD VPMU code Date: Mon, 15 Apr 2013 13:00:41 -0500 Message-ID: <516C4049.2060308@amd.com> References: <1365789566-3733-1-git-send-email-boris.ostrovsky@oracle.com> <1365789566-3733-9-git-send-email-boris.ostrovsky@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1365789566-3733-9-git-send-email-boris.ostrovsky@oracle.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: Boris Ostrovsky Cc: jun.nakajima@intel.com, haitao.shan@intel.com, jacob.shin@amd.com, dietmar.hahn@ts.fujitsu.com, xen-devel@lists.xen.org, JBeulich@suse.com List-Id: xen-devel@lists.xenproject.org Acked Thanks, Suravee On 4/12/2013 12:59 PM, Boris Ostrovsky wrote: > Clean up context_update() in AMD VPMU code. > > Rename restore routine to "load" to be consistent with Intel > code and with arch_vpmu_ops names > > Signed-off-by: Boris Ostrovsky > Reviewed-by: Dietmar Hahn > --- > xen/arch/x86/hvm/svm/vpmu.c | 28 +++++++++++++++++----------- > 1 file changed, 17 insertions(+), 11 deletions(-) > > diff --git a/xen/arch/x86/hvm/svm/vpmu.c b/xen/arch/x86/hvm/svm/vpmu.c > index efe2b7c..b36ab2b 100644 > --- a/xen/arch/x86/hvm/svm/vpmu.c > +++ b/xen/arch/x86/hvm/svm/vpmu.c > @@ -173,7 +173,7 @@ static int amd_vpmu_do_interrupt(struct cpu_user_regs *regs) > return 1; > } > > -static inline void context_restore(struct vcpu *v) > +static inline void context_load(struct vcpu *v) > { > unsigned int i; > struct vpmu_struct *vpmu = vcpu_vpmu(v); > @@ -186,7 +186,7 @@ static inline void context_restore(struct vcpu *v) > } > } > > -static void amd_vpmu_restore(struct vcpu *v) > +static void amd_vpmu_load(struct vcpu *v) > { > struct vpmu_struct *vpmu = vcpu_vpmu(v); > struct amd_vpmu_context *ctxt = vpmu->context; > @@ -203,7 +203,7 @@ static void amd_vpmu_restore(struct vcpu *v) > return; > } > > - context_restore(v); > + context_load(v); > } > > static inline void context_save(struct vcpu *v) > @@ -262,12 +262,18 @@ static void context_update(unsigned int msr, u64 msr_content) > } > > for ( i = 0; i < num_counters; i++ ) > - if ( msr == counters[i] ) > + { > + if ( msr == ctrls[i] ) > + { > + ctxt->ctrls[i] = msr_content; > + return; > + } > + else if (msr == counters[i] ) > + { > ctxt->counters[i] = msr_content; > - > - for ( i = 0; i < num_counters; i++ ) > - if ( msr == ctrls[i] ) > - ctxt->ctrls[i] = msr_content; > + return; > + } > + } > } > > static int amd_vpmu_do_wrmsr(unsigned int msr, uint64_t msr_content) > @@ -311,7 +317,7 @@ static int amd_vpmu_do_wrmsr(unsigned int msr, uint64_t msr_content) > if ( !vpmu_is_set(vpmu, VPMU_CONTEXT_LOADED) > || vpmu_is_set(vpmu, VPMU_FROZEN) ) > { > - context_restore(v); > + context_load(v); > vpmu_set(vpmu, VPMU_CONTEXT_LOADED); > vpmu_reset(vpmu, VPMU_FROZEN); > } > @@ -332,7 +338,7 @@ static int amd_vpmu_do_rdmsr(unsigned int msr, uint64_t *msr_content) > if ( !vpmu_is_set(vpmu, VPMU_CONTEXT_LOADED) > || vpmu_is_set(vpmu, VPMU_FROZEN) ) > { > - context_restore(v); > + context_load(v); > vpmu_set(vpmu, VPMU_CONTEXT_LOADED); > vpmu_reset(vpmu, VPMU_FROZEN); > } > @@ -414,7 +420,7 @@ struct arch_vpmu_ops amd_vpmu_ops = { > .do_interrupt = amd_vpmu_do_interrupt, > .arch_vpmu_destroy = amd_vpmu_destroy, > .arch_vpmu_save = amd_vpmu_save, > - .arch_vpmu_load = amd_vpmu_restore > + .arch_vpmu_load = amd_vpmu_load > }; > > int svm_vpmu_initialise(struct vcpu *v, unsigned int vpmu_flags)