From: Wei Huang Date: Fri, 7 Aug 2015 19:53:30 +0000 (-0400) Subject: KVM: x86/vPMU: Fix unnecessary signed extension for AMD PERFCTRn X-Git-Tag: firefly_0821_release~176^2~1224^2~2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b6bb424b407ee0162fc492e6149847d0aa0034ff;p=firefly-linux-kernel-4.4.55.git KVM: x86/vPMU: Fix unnecessary signed extension for AMD PERFCTRn According to AMD programmer's manual, AMD PERFCTRn is 64-bit MSR which, unlike Intel perf counters, doesn't require signed extension. This patch removes the unnecessary conversion in SVM vPMU code when PERFCTRn is being updated. Signed-off-by: Wei Huang Reviewed-by: Andrew Jones Signed-off-by: Paolo Bonzini --- diff --git a/arch/x86/kvm/pmu_amd.c b/arch/x86/kvm/pmu_amd.c index 886aa25a7131..39b91127ef07 100644 --- a/arch/x86/kvm/pmu_amd.c +++ b/arch/x86/kvm/pmu_amd.c @@ -133,8 +133,6 @@ static int amd_pmu_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info) /* MSR_K7_PERFCTRn */ pmc = get_gp_pmc(pmu, msr, MSR_K7_PERFCTR0); if (pmc) { - if (!msr_info->host_initiated) - data = (s64)data; pmc->counter += data - pmc_read_counter(pmc); return 0; }