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>
This commit is contained in:
parent
4c921126fe
commit
f1a3c97905
@ -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)
|
static inline int is_software_counter(struct perf_counter *counter)
|
||||||
{
|
{
|
||||||
return (counter->attr.type != PERF_TYPE_RAW) &&
|
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);
|
extern void perf_swcounter_event(u32, u64, int, struct pt_regs *, u64);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user