hc
2024-05-10 cde9070d9970eef1f7ec2360586c802a16230ad8
kernel/tools/perf/util/counts.h
....@@ -2,24 +2,18 @@
22 #ifndef __PERF_COUNTS_H
33 #define __PERF_COUNTS_H
44
5
-#include "xyarray.h"
5
+#include <linux/types.h>
6
+#include <internal/xyarray.h>
7
+#include <perf/evsel.h>
8
+#include <stdbool.h>
69
7
-struct perf_counts_values {
8
- union {
9
- struct {
10
- u64 val;
11
- u64 ena;
12
- u64 run;
13
- };
14
- u64 values[3];
15
- };
16
- bool loaded;
17
-};
10
+struct evsel;
1811
1912 struct perf_counts {
2013 s8 scaled;
2114 struct perf_counts_values aggr;
2215 struct xyarray *values;
16
+ struct xyarray *loaded;
2317 };
2418
2519
....@@ -29,11 +23,24 @@
2923 return xyarray__entry(counts->values, cpu, thread);
3024 }
3125
26
+static inline bool
27
+perf_counts__is_loaded(struct perf_counts *counts, int cpu, int thread)
28
+{
29
+ return *((bool *) xyarray__entry(counts->loaded, cpu, thread));
30
+}
31
+
32
+static inline void
33
+perf_counts__set_loaded(struct perf_counts *counts, int cpu, int thread, bool loaded)
34
+{
35
+ *((bool *) xyarray__entry(counts->loaded, cpu, thread)) = loaded;
36
+}
37
+
3238 struct perf_counts *perf_counts__new(int ncpus, int nthreads);
3339 void perf_counts__delete(struct perf_counts *counts);
40
+void perf_counts__reset(struct perf_counts *counts);
3441
35
-void perf_evsel__reset_counts(struct perf_evsel *evsel);
36
-int perf_evsel__alloc_counts(struct perf_evsel *evsel, int ncpus, int nthreads);
37
-void perf_evsel__free_counts(struct perf_evsel *evsel);
42
+void evsel__reset_counts(struct evsel *evsel);
43
+int evsel__alloc_counts(struct evsel *evsel, int ncpus, int nthreads);
44
+void evsel__free_counts(struct evsel *evsel);
3845
3946 #endif /* __PERF_COUNTS_H */