hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/tools/perf/tests/openat-syscall-tp-fields.c
....@@ -1,15 +1,19 @@
11 // SPDX-License-Identifier: GPL-2.0
2
+#include <stdbool.h>
23 #include <linux/err.h>
4
+#include <linux/string.h>
35 #include <sys/types.h>
46 #include <sys/stat.h>
57 #include <fcntl.h>
6
-#include "perf.h"
78 #include "evlist.h"
89 #include "evsel.h"
910 #include "thread_map.h"
11
+#include "record.h"
1012 #include "tests.h"
1113 #include "debug.h"
14
+#include "util/mmap.h"
1215 #include <errno.h>
16
+#include <perf/mmap.h>
1317
1418 #ifndef O_DIRECTORY
1519 #define O_DIRECTORY 00200000
....@@ -32,8 +36,8 @@
3236 };
3337 const char *filename = "/etc/passwd";
3438 int flags = O_RDONLY | O_DIRECTORY;
35
- struct perf_evlist *evlist = perf_evlist__new();
36
- struct perf_evsel *evsel;
39
+ struct evlist *evlist = evlist__new();
40
+ struct evsel *evsel;
3741 int err = -1, i, nr_events = 0, nr_polls = 0;
3842 char sbuf[STRERR_BUFSIZE];
3943
....@@ -42,13 +46,13 @@
4246 goto out;
4347 }
4448
45
- evsel = perf_evsel__newtp("syscalls", "sys_enter_openat");
49
+ evsel = evsel__newtp("syscalls", "sys_enter_openat");
4650 if (IS_ERR(evsel)) {
47
- pr_debug("%s: perf_evsel__newtp\n", __func__);
51
+ pr_debug("%s: evsel__newtp\n", __func__);
4852 goto out_delete_evlist;
4953 }
5054
51
- perf_evlist__add(evlist, evsel);
55
+ evlist__add(evlist, evsel);
5256
5357 err = perf_evlist__create_maps(evlist, &opts.target);
5458 if (err < 0) {
....@@ -56,25 +60,25 @@
5660 goto out_delete_evlist;
5761 }
5862
59
- perf_evsel__config(evsel, &opts, NULL);
63
+ evsel__config(evsel, &opts, NULL);
6064
61
- thread_map__set_pid(evlist->threads, 0, getpid());
65
+ perf_thread_map__set_pid(evlist->core.threads, 0, getpid());
6266
63
- err = perf_evlist__open(evlist);
67
+ err = evlist__open(evlist);
6468 if (err < 0) {
6569 pr_debug("perf_evlist__open: %s\n",
6670 str_error_r(errno, sbuf, sizeof(sbuf)));
6771 goto out_delete_evlist;
6872 }
6973
70
- err = perf_evlist__mmap(evlist, UINT_MAX);
74
+ err = evlist__mmap(evlist, UINT_MAX);
7175 if (err < 0) {
72
- pr_debug("perf_evlist__mmap: %s\n",
76
+ pr_debug("evlist__mmap: %s\n",
7377 str_error_r(errno, sbuf, sizeof(sbuf)));
7478 goto out_delete_evlist;
7579 }
7680
77
- perf_evlist__enable(evlist);
81
+ evlist__enable(evlist);
7882
7983 /*
8084 * Generate the event:
....@@ -84,15 +88,15 @@
8488 while (1) {
8589 int before = nr_events;
8690
87
- for (i = 0; i < evlist->nr_mmaps; i++) {
91
+ for (i = 0; i < evlist->core.nr_mmaps; i++) {
8892 union perf_event *event;
89
- struct perf_mmap *md;
93
+ struct mmap *md;
9094
9195 md = &evlist->mmap[i];
92
- if (perf_mmap__read_init(md) < 0)
96
+ if (perf_mmap__read_init(&md->core) < 0)
9397 continue;
9498
95
- while ((event = perf_mmap__read_event(md)) != NULL) {
99
+ while ((event = perf_mmap__read_event(&md->core)) != NULL) {
96100 const u32 type = event->header.type;
97101 int tp_flags;
98102 struct perf_sample sample;
....@@ -100,17 +104,17 @@
100104 ++nr_events;
101105
102106 if (type != PERF_RECORD_SAMPLE) {
103
- perf_mmap__consume(md);
107
+ perf_mmap__consume(&md->core);
104108 continue;
105109 }
106110
107
- err = perf_evsel__parse_sample(evsel, event, &sample);
111
+ err = evsel__parse_sample(evsel, event, &sample);
108112 if (err) {
109113 pr_debug("Can't parse sample, err = %d\n", err);
110114 goto out_delete_evlist;
111115 }
112116
113
- tp_flags = perf_evsel__intval(evsel, &sample, "flags");
117
+ tp_flags = evsel__intval(evsel, &sample, "flags");
114118
115119 if (flags != tp_flags) {
116120 pr_debug("%s: Expected flags=%#x, got %#x\n",
....@@ -120,11 +124,11 @@
120124
121125 goto out_ok;
122126 }
123
- perf_mmap__read_done(md);
127
+ perf_mmap__read_done(&md->core);
124128 }
125129
126130 if (nr_events == before)
127
- perf_evlist__poll(evlist, 10);
131
+ evlist__poll(evlist, 10);
128132
129133 if (++nr_polls > 5) {
130134 pr_debug("%s: no events!\n", __func__);
....@@ -134,7 +138,7 @@
134138 out_ok:
135139 err = 0;
136140 out_delete_evlist:
137
- perf_evlist__delete(evlist);
141
+ evlist__delete(evlist);
138142 out:
139143 return err;
140144 }