diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2010-01-27 17:07:46 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-01-29 03:01:46 -0500 |
commit | ed8777fc132e589d48a0ba854fdbb5d8203b58e5 (patch) | |
tree | 34aea92bf0bfa98048743a91d2f96cae9fb6b3e2 /arch/x86/kernel/cpu/perf_event.c | |
parent | 2e8418736dff9c6fdadb2f87dcc2087cebf32167 (diff) |
perf_events, x86: Fix event constraint masks
Since constraints are specified on the event number, not number
and unit mask shorten the constraint masks so that we'll
actually match something.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
LKML-Reference: <20100127221121.967610372@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/cpu/perf_event.c')
-rw-r--r-- | arch/x86/kernel/cpu/perf_event.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c index 07fa0c2faa09..951213a51489 100644 --- a/arch/x86/kernel/cpu/perf_event.c +++ b/arch/x86/kernel/cpu/perf_event.c | |||
@@ -100,12 +100,17 @@ struct cpu_hw_events { | |||
100 | .weight = HWEIGHT64((u64)(n)), \ | 100 | .weight = HWEIGHT64((u64)(n)), \ |
101 | } | 101 | } |
102 | 102 | ||
103 | #define INTEL_EVENT_CONSTRAINT(c, n) EVENT_CONSTRAINT(c, n, INTEL_ARCH_EVENT_MASK) | 103 | #define INTEL_EVENT_CONSTRAINT(c, n) \ |
104 | #define FIXED_EVENT_CONSTRAINT(c, n) EVENT_CONSTRAINT(c, n, INTEL_ARCH_FIXED_MASK) | 104 | EVENT_CONSTRAINT(c, n, INTEL_ARCH_EVTSEL_MASK) |
105 | 105 | ||
106 | #define EVENT_CONSTRAINT_END EVENT_CONSTRAINT(0, 0, 0) | 106 | #define FIXED_EVENT_CONSTRAINT(c, n) \ |
107 | EVENT_CONSTRAINT(c, n, INTEL_ARCH_FIXED_MASK) | ||
107 | 108 | ||
108 | #define for_each_event_constraint(e, c) for ((e) = (c); (e)->cmask; (e)++) | 109 | #define EVENT_CONSTRAINT_END \ |
110 | EVENT_CONSTRAINT(0, 0, 0) | ||
111 | |||
112 | #define for_each_event_constraint(e, c) \ | ||
113 | for ((e) = (c); (e)->cmask; (e)++) | ||
109 | 114 | ||
110 | /* | 115 | /* |
111 | * struct x86_pmu - generic x86 pmu | 116 | * struct x86_pmu - generic x86 pmu |