From: tip-bot for Vince Weaver on
Commit-ID: f287d332ce835f77a4f5077d2c0ef1e3f9ea42d2
Gitweb: http://git.kernel.org/tip/f287d332ce835f77a4f5077d2c0ef1e3f9ea42d2
Author: Vince Weaver <vweaver1(a)eecs.utk.edu>
AuthorDate: Thu, 1 Jul 2010 15:30:16 -0400
Committer: Ingo Molnar <mingo(a)elte.hu>
CommitDate: Sat, 3 Jul 2010 15:19:34 +0200

perf, x86: Fix incorrect branches event on AMD CPUs

While doing some performance counter validation tests on some
assembly language programs I noticed that the "branches:u"
count was very wrong on AMD machines.

It looks like the wrong event was selected.

Signed-off-by: Vince Weaver <vweaver1(a)eecs.utk.edu>
Acked-by: Peter Zijlstra <a.p.zijlstra(a)chello.nl>
Cc: Paul Mackerras <paulus(a)samba.org>
Cc: Arnaldo Carvalho de Melo <acme(a)redhat.com>
Cc: Robert Richter <robert.richter(a)amd.com>
Cc: Borislav Petkov <borislav.petkov(a)amd.com>
Cc: Frederic Weisbecker <fweisbec(a)gmail.com>
Cc: <stable(a)kernel.org>
LKML-Reference: <alpine.DEB.2.00.1007011526010.23160(a)cl320.eecs.utk.edu>
Signed-off-by: Ingo Molnar <mingo(a)elte.hu>
---
arch/x86/kernel/cpu/perf_event_amd.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/cpu/perf_event_amd.c b/arch/x86/kernel/cpu/perf_event_amd.c
index 611df11..c2897b7 100644
--- a/arch/x86/kernel/cpu/perf_event_amd.c
+++ b/arch/x86/kernel/cpu/perf_event_amd.c
@@ -102,8 +102,8 @@ static const u64 amd_perfmon_event_map[] =
[PERF_COUNT_HW_INSTRUCTIONS] = 0x00c0,
[PERF_COUNT_HW_CACHE_REFERENCES] = 0x0080,
[PERF_COUNT_HW_CACHE_MISSES] = 0x0081,
- [PERF_COUNT_HW_BRANCH_INSTRUCTIONS] = 0x00c4,
- [PERF_COUNT_HW_BRANCH_MISSES] = 0x00c5,
+ [PERF_COUNT_HW_BRANCH_INSTRUCTIONS] = 0x00c2,
+ [PERF_COUNT_HW_BRANCH_MISSES] = 0x00c3,
};

static u64 amd_pmu_event_map(int hw_event)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/