]>
Commit | Line | Data |
---|---|---|
d809560b JO |
1 | #ifndef __PERF_COUNTS_H |
2 | #define __PERF_COUNTS_H | |
3 | ||
4 | #include "xyarray.h" | |
5 | ||
6 | struct perf_counts_values { | |
7 | union { | |
8 | struct { | |
9 | u64 val; | |
10 | u64 ena; | |
11 | u64 run; | |
12 | }; | |
13 | u64 values[3]; | |
14 | }; | |
15 | }; | |
16 | ||
17 | struct perf_counts { | |
18 | s8 scaled; | |
19 | struct perf_counts_values aggr; | |
20 | struct xyarray *values; | |
21 | }; | |
22 | ||
23 | ||
24 | static inline struct perf_counts_values* | |
25 | perf_counts(struct perf_counts *counts, int cpu, int thread) | |
26 | { | |
27 | return xyarray__entry(counts->values, cpu, thread); | |
28 | } | |
29 | ||
30 | struct perf_counts *perf_counts__new(int ncpus, int nthreads); | |
31 | void perf_counts__delete(struct perf_counts *counts); | |
32 | ||
33 | void perf_evsel__reset_counts(struct perf_evsel *evsel); | |
34 | int perf_evsel__alloc_counts(struct perf_evsel *evsel, int ncpus, int nthreads); | |
35 | void perf_evsel__free_counts(struct perf_evsel *evsel); | |
36 | ||
37 | #endif /* __PERF_COUNTS_H */ |