diff options
Diffstat (limited to 'tools/perf/util/counts.h')
| -rw-r--r-- | tools/perf/util/counts.h | 37 | 
1 files changed, 37 insertions, 0 deletions
diff --git a/tools/perf/util/counts.h b/tools/perf/util/counts.h new file mode 100644 index 000000000000..34d8baaf558a --- /dev/null +++ b/tools/perf/util/counts.h @@ -0,0 +1,37 @@ +#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 */  | 
