perf, x86: Fix incorrect branches event on AMD CPUs
authorVince Weaver <vweaver1@eecs.utk.edu>
Thu, 1 Jul 2010 19:30:16 +0000 (15:30 -0400)
committerIngo Molnar <mingo@elte.hu>
Sat, 3 Jul 2010 13:19:34 +0000 (15:19 +0200)
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@eecs.utk.edu>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Robert Richter <robert.richter@amd.com>
Cc: Borislav Petkov <borislav.petkov@amd.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: <stable@kernel.org>
LKML-Reference: <alpine.DEB.2.00.1007011526010.23160@cl320.eecs.utk.edu>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/cpu/perf_event_amd.c

index 611df11..c2897b7 100644 (file)
@@ -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)