perf counts: Switch name cpu to cpu_map_idx
[linux-2.6-block.git] / tools / perf / util / counts.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
d809560b
JO
2#ifndef __PERF_COUNTS_H
3#define __PERF_COUNTS_H
4
2d64ae9b 5#include <linux/types.h>
4b247fa7 6#include <internal/xyarray.h>
5c30af92 7#include <perf/evsel.h>
2d64ae9b
ACM
8#include <stdbool.h>
9
10struct evsel;
d809560b
JO
11
12struct perf_counts {
13 s8 scaled;
14 struct perf_counts_values aggr;
15 struct xyarray *values;
df1d6856 16 struct xyarray *loaded;
d809560b
JO
17};
18
19
20static inline struct perf_counts_values*
7316268f 21perf_counts(struct perf_counts *counts, int cpu_map_idx, int thread)
d809560b 22{
7316268f 23 return xyarray__entry(counts->values, cpu_map_idx, thread);
d809560b
JO
24}
25
df1d6856 26static inline bool
7316268f 27perf_counts__is_loaded(struct perf_counts *counts, int cpu_map_idx, int thread)
df1d6856 28{
7316268f 29 return *((bool *) xyarray__entry(counts->loaded, cpu_map_idx, thread));
df1d6856
JO
30}
31
32static inline void
7316268f 33perf_counts__set_loaded(struct perf_counts *counts, int cpu_map_idx, int thread, bool loaded)
df1d6856 34{
7316268f 35 *((bool *) xyarray__entry(counts->loaded, cpu_map_idx, thread)) = loaded;
df1d6856
JO
36}
37
d809560b
JO
38struct perf_counts *perf_counts__new(int ncpus, int nthreads);
39void perf_counts__delete(struct perf_counts *counts);
cf4d9bd6 40void perf_counts__reset(struct perf_counts *counts);
d809560b 41
7d1e239e 42void evsel__reset_counts(struct evsel *evsel);
2ca0a371 43int evsel__alloc_counts(struct evsel *evsel);
7d1e239e 44void evsel__free_counts(struct evsel *evsel);
d809560b
JO
45
46#endif /* __PERF_COUNTS_H */