hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/tools/perf/arch/x86/tests/perf-time-to-tsc.c
....@@ -1,17 +1,24 @@
11 // SPDX-License-Identifier: GPL-2.0
22 #include <errno.h>
33 #include <inttypes.h>
4
+#include <limits.h>
5
+#include <stdbool.h>
46 #include <stdio.h>
57 #include <unistd.h>
68 #include <linux/types.h>
79 #include <sys/prctl.h>
10
+#include <perf/cpumap.h>
11
+#include <perf/evlist.h>
12
+#include <perf/mmap.h>
813
14
+#include "debug.h"
915 #include "parse-events.h"
1016 #include "evlist.h"
1117 #include "evsel.h"
1218 #include "thread_map.h"
13
-#include "cpumap.h"
19
+#include "record.h"
1420 #include "tsc.h"
21
+#include "util/mmap.h"
1522 #include "tests/tests.h"
1623
1724 #include "arch-tests.h"
....@@ -49,10 +56,10 @@
4956 },
5057 .sample_time = true,
5158 };
52
- struct thread_map *threads = NULL;
53
- struct cpu_map *cpus = NULL;
54
- struct perf_evlist *evlist = NULL;
55
- struct perf_evsel *evsel = NULL;
59
+ struct perf_thread_map *threads = NULL;
60
+ struct perf_cpu_map *cpus = NULL;
61
+ struct evlist *evlist = NULL;
62
+ struct evsel *evsel = NULL;
5663 int err = -1, ret, i;
5764 const char *comm1, *comm2;
5865 struct perf_tsc_conversion tc;
....@@ -60,34 +67,34 @@
6067 union perf_event *event;
6168 u64 test_tsc, comm1_tsc, comm2_tsc;
6269 u64 test_time, comm1_time = 0, comm2_time = 0;
63
- struct perf_mmap *md;
70
+ struct mmap *md;
6471
6572 threads = thread_map__new(-1, getpid(), UINT_MAX);
6673 CHECK_NOT_NULL__(threads);
6774
68
- cpus = cpu_map__new(NULL);
75
+ cpus = perf_cpu_map__new(NULL);
6976 CHECK_NOT_NULL__(cpus);
7077
71
- evlist = perf_evlist__new();
78
+ evlist = evlist__new();
7279 CHECK_NOT_NULL__(evlist);
7380
74
- perf_evlist__set_maps(evlist, cpus, threads);
81
+ perf_evlist__set_maps(&evlist->core, cpus, threads);
7582
7683 CHECK__(parse_events(evlist, "cycles:u", NULL));
7784
7885 perf_evlist__config(evlist, &opts, NULL);
7986
80
- evsel = perf_evlist__first(evlist);
87
+ evsel = evlist__first(evlist);
8188
82
- evsel->attr.comm = 1;
83
- evsel->attr.disabled = 1;
84
- evsel->attr.enable_on_exec = 0;
89
+ evsel->core.attr.comm = 1;
90
+ evsel->core.attr.disabled = 1;
91
+ evsel->core.attr.enable_on_exec = 0;
8592
86
- CHECK__(perf_evlist__open(evlist));
93
+ CHECK__(evlist__open(evlist));
8794
88
- CHECK__(perf_evlist__mmap(evlist, UINT_MAX));
95
+ CHECK__(evlist__mmap(evlist, UINT_MAX));
8996
90
- pc = evlist->mmap[0].base;
97
+ pc = evlist->mmap[0].core.base;
9198 ret = perf_read_tsc_conversion(pc, &tc);
9299 if (ret) {
93100 if (ret == -EOPNOTSUPP) {
....@@ -97,7 +104,7 @@
97104 goto out_err;
98105 }
99106
100
- perf_evlist__enable(evlist);
107
+ evlist__enable(evlist);
101108
102109 comm1 = "Test COMM 1";
103110 CHECK__(prctl(PR_SET_NAME, (unsigned long)comm1, 0, 0, 0));
....@@ -107,14 +114,14 @@
107114 comm2 = "Test COMM 2";
108115 CHECK__(prctl(PR_SET_NAME, (unsigned long)comm2, 0, 0, 0));
109116
110
- perf_evlist__disable(evlist);
117
+ evlist__disable(evlist);
111118
112
- for (i = 0; i < evlist->nr_mmaps; i++) {
119
+ for (i = 0; i < evlist->core.nr_mmaps; i++) {
113120 md = &evlist->mmap[i];
114
- if (perf_mmap__read_init(md) < 0)
121
+ if (perf_mmap__read_init(&md->core) < 0)
115122 continue;
116123
117
- while ((event = perf_mmap__read_event(md)) != NULL) {
124
+ while ((event = perf_mmap__read_event(&md->core)) != NULL) {
118125 struct perf_sample sample;
119126
120127 if (event->header.type != PERF_RECORD_COMM ||
....@@ -123,19 +130,17 @@
123130 goto next_event;
124131
125132 if (strcmp(event->comm.comm, comm1) == 0) {
126
- CHECK__(perf_evsel__parse_sample(evsel, event,
127
- &sample));
133
+ CHECK__(evsel__parse_sample(evsel, event, &sample));
128134 comm1_time = sample.time;
129135 }
130136 if (strcmp(event->comm.comm, comm2) == 0) {
131
- CHECK__(perf_evsel__parse_sample(evsel, event,
132
- &sample));
137
+ CHECK__(evsel__parse_sample(evsel, event, &sample));
133138 comm2_time = sample.time;
134139 }
135140 next_event:
136
- perf_mmap__consume(md);
141
+ perf_mmap__consume(&md->core);
137142 }
138
- perf_mmap__read_done(md);
143
+ perf_mmap__read_done(&md->core);
139144 }
140145
141146 if (!comm1_time || !comm2_time)
....@@ -163,6 +168,6 @@
163168 err = 0;
164169
165170 out_err:
166
- perf_evlist__delete(evlist);
171
+ evlist__delete(evlist);
167172 return err;
168173 }