perf counters: hw driver API
authorIngo Molnar <mingo@elte.hu>
Thu, 11 Dec 2008 11:46:46 +0000 (12:46 +0100)
committerIngo Molnar <mingo@elte.hu>
Thu, 11 Dec 2008 14:45:51 +0000 (15:45 +0100)
commit621a01eac89b5e2f81a4cf576568b31f40a02724
tree79a7f2a8d49017077f40cfac4e78ee255cf2f43e
parentccff286d85098ba5438e22aa2ea807fc1e18cf2f
perf counters: hw driver API

Impact: restructure code, introduce hw_ops driver abstraction

Introduce this abstraction to handle counter details:

 struct hw_perf_counter_ops {
void (*hw_perf_counter_enable) (struct perf_counter *counter);
void (*hw_perf_counter_disable) (struct perf_counter *counter);
void (*hw_perf_counter_read) (struct perf_counter *counter);
 };

This will be useful to support assymetric hw details, and it will also
be useful to implement "software counters". (Counters that count kernel
managed sw events such as pagefaults, context-switches, wall-clock time
or task-local time.)

Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/cpu/perf_counter.c
include/linux/perf_counter.h
kernel/perf_counter.c