diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2009-06-11 17:56:09 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-06-12 14:28:51 +0200 |
commit | f1a3c979059b2033d0b1cc4f9ee5c90bf92b5f94 (patch) | |
tree | 912e8284ffb749c8b9a8be51551144faaaab4849 | |
parent | 4c921126fe553440261f56691c5f60fbaaa486d6 (diff) |
perf_counter: PERF_TYPE_HW_CACHE is a hardware counter too
is_software_counter() was missing the new HW_CACHE category.
( This could have caused some counter scheduling artifacts
with mixed sw and hw counters and counter groups. )
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | include/linux/perf_counter.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/perf_counter.h b/include/linux/perf_counter.h index 6e133954e2e..7c4f32f6ae1 100644 --- a/include/linux/perf_counter.h +++ b/include/linux/perf_counter.h @@ -621,7 +621,8 @@ extern int perf_counter_overflow(struct perf_counter *counter, int nmi, static inline int is_software_counter(struct perf_counter *counter) { return (counter->attr.type != PERF_TYPE_RAW) && - (counter->attr.type != PERF_TYPE_HARDWARE); + (counter->attr.type != PERF_TYPE_HARDWARE) && + (counter->attr.type != PERF_TYPE_HW_CACHE); } extern void perf_swcounter_event(u32, u64, int, struct pt_regs *, u64); |