1 /* SPDX-License-Identifier: GPL-2.0 */ << 2 #ifndef __PERF_COUNTS_H 1 #ifndef __PERF_COUNTS_H 3 #define __PERF_COUNTS_H 2 #define __PERF_COUNTS_H 4 3 5 #include <linux/types.h> !! 4 #include "xyarray.h" 6 #include <internal/xyarray.h> << 7 #include <perf/evsel.h> << 8 #include <stdbool.h> << 9 5 10 struct evsel; !! 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 }; 11 16 12 struct perf_counts { 17 struct perf_counts { 13 s8 scaled; 18 s8 scaled; >> 19 struct perf_counts_values aggr; 14 struct xyarray *values; 20 struct xyarray *values; 15 struct xyarray *loaded; << 16 }; 21 }; 17 22 18 23 19 static inline struct perf_counts_values* 24 static inline struct perf_counts_values* 20 perf_counts(struct perf_counts *counts, int cp !! 25 perf_counts(struct perf_counts *counts, int cpu, int thread) 21 { << 22 return xyarray__entry(counts->values, << 23 } << 24 << 25 static inline bool << 26 perf_counts__is_loaded(struct perf_counts *cou << 27 { << 28 return *((bool *) xyarray__entry(count << 29 } << 30 << 31 static inline void << 32 perf_counts__set_loaded(struct perf_counts *co << 33 { 26 { 34 *((bool *) xyarray__entry(counts->load !! 27 return xyarray__entry(counts->values, cpu, thread); 35 } 28 } 36 29 37 struct perf_counts *perf_counts__new(int ncpus 30 struct perf_counts *perf_counts__new(int ncpus, int nthreads); 38 void perf_counts__delete(struct perf_counts *c 31 void perf_counts__delete(struct perf_counts *counts); 39 void perf_counts__reset(struct perf_counts *co << 40 32 41 void evsel__reset_counts(struct evsel *evsel); !! 33 void perf_evsel__reset_counts(struct perf_evsel *evsel); 42 int evsel__alloc_counts(struct evsel *evsel); !! 34 int perf_evsel__alloc_counts(struct perf_evsel *evsel, int ncpus, int nthreads); 43 void evsel__free_counts(struct evsel *evsel); !! 35 void perf_evsel__free_counts(struct perf_evsel *evsel); 44 36 45 #endif /* __PERF_COUNTS_H */ 37 #endif /* __PERF_COUNTS_H */ 46 38
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.