#ifndef __PERF_COUNTS_H #define __PERF_COUNTS_H #include "xyarray.h" struct perf_counts_values { union { struct { u64 val; u64 ena; u64 run; }; u64 values[3]; }; }; struct perf_counts { s8 scaled; struct perf_counts_values aggr; struct xyarray *values; }; static inline struct perf_counts_values* perf_counts(struct perf_counts *counts, int cpu, int thread) { return xyarray__entry(counts->values, cpu, thread); } struct perf_counts *perf_counts__new(int ncpus, int nthreads); void perf_counts__delete(struct perf_counts *counts); void perf_evsel__reset_counts(struct perf_evsel *evsel); int perf_evsel__alloc_counts(struct perf_evsel *evsel, int ncpus, int nthreads); void perf_evsel__free_counts(struct perf_evsel *evsel); #endif /* __PERF_COUNTS_H */