forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/tools/perf/tests/hists_cumulate.c
....@@ -1,7 +1,8 @@
11 // SPDX-License-Identifier: GPL-2.0
2
-#include "perf.h"
32 #include "util/debug.h"
3
+#include "util/dso.h"
44 #include "util/event.h"
5
+#include "util/map.h"
56 #include "util/symbol.h"
67 #include "util/sort.h"
78 #include "util/evsel.h"
....@@ -79,7 +80,7 @@
7980 static int add_hist_entries(struct hists *hists, struct machine *machine)
8081 {
8182 struct addr_location al;
82
- struct perf_evsel *evsel = hists_to_evsel(hists);
83
+ struct evsel *evsel = hists_to_evsel(hists);
8384 struct perf_sample sample = { .period = 1000, };
8485 size_t i;
8586
....@@ -125,8 +126,8 @@
125126 static void del_hist_entries(struct hists *hists)
126127 {
127128 struct hist_entry *he;
128
- struct rb_root *root_in;
129
- struct rb_root *root_out;
129
+ struct rb_root_cached *root_in;
130
+ struct rb_root_cached *root_out;
130131 struct rb_node *node;
131132
132133 if (hists__has(hists, need_collapse))
....@@ -136,17 +137,17 @@
136137
137138 root_out = &hists->entries;
138139
139
- while (!RB_EMPTY_ROOT(root_out)) {
140
- node = rb_first(root_out);
140
+ while (!RB_EMPTY_ROOT(&root_out->rb_root)) {
141
+ node = rb_first_cached(root_out);
141142
142143 he = rb_entry(node, struct hist_entry, rb_node);
143
- rb_erase(node, root_out);
144
- rb_erase(&he->rb_node_in, root_in);
144
+ rb_erase_cached(node, root_out);
145
+ rb_erase_cached(&he->rb_node_in, root_in);
145146 hist_entry__delete(he);
146147 }
147148 }
148149
149
-typedef int (*test_fn_t)(struct perf_evsel *, struct machine *);
150
+typedef int (*test_fn_t)(struct evsel *, struct machine *);
150151
151152 #define COMM(he) (thread__comm_str(he->thread))
152153 #define DSO(he) (he->ms.map->dso->short_name)
....@@ -189,7 +190,7 @@
189190 * function since TEST_ASSERT_VAL() returns in case of failure.
190191 */
191192 hists__collapse_resort(hists, NULL);
192
- perf_evsel__output_resort(hists_to_evsel(hists), NULL);
193
+ evsel__output_resort(hists_to_evsel(hists), NULL);
193194
194195 if (verbose > 2) {
195196 pr_info("use callchain: %d, cumulate callchain: %d\n",
....@@ -198,7 +199,7 @@
198199 print_hists_out(hists);
199200 }
200201
201
- root = &hists->entries;
202
+ root = &hists->entries.rb_root;
202203 for (node = rb_first(root), i = 0;
203204 node && (he = rb_entry(node, struct hist_entry, rb_node));
204205 node = rb_next(node), i++) {
....@@ -246,7 +247,7 @@
246247 }
247248
248249 /* NO callchain + NO children */
249
-static int test1(struct perf_evsel *evsel, struct machine *machine)
250
+static int test1(struct evsel *evsel, struct machine *machine)
250251 {
251252 int err;
252253 struct hists *hists = evsel__hists(evsel);
....@@ -279,7 +280,7 @@
279280
280281 symbol_conf.use_callchain = false;
281282 symbol_conf.cumulate_callchain = false;
282
- perf_evsel__reset_sample_bit(evsel, CALLCHAIN);
283
+ evsel__reset_sample_bit(evsel, CALLCHAIN);
283284
284285 setup_sorting(NULL);
285286 callchain_register_param(&callchain_param);
....@@ -297,7 +298,7 @@
297298 }
298299
299300 /* callcain + NO children */
300
-static int test2(struct perf_evsel *evsel, struct machine *machine)
301
+static int test2(struct evsel *evsel, struct machine *machine)
301302 {
302303 int err;
303304 struct hists *hists = evsel__hists(evsel);
....@@ -426,7 +427,7 @@
426427
427428 symbol_conf.use_callchain = true;
428429 symbol_conf.cumulate_callchain = false;
429
- perf_evsel__set_sample_bit(evsel, CALLCHAIN);
430
+ evsel__set_sample_bit(evsel, CALLCHAIN);
430431
431432 setup_sorting(NULL);
432433 callchain_register_param(&callchain_param);
....@@ -445,7 +446,7 @@
445446 }
446447
447448 /* NO callchain + children */
448
-static int test3(struct perf_evsel *evsel, struct machine *machine)
449
+static int test3(struct evsel *evsel, struct machine *machine)
449450 {
450451 int err;
451452 struct hists *hists = evsel__hists(evsel);
....@@ -484,7 +485,7 @@
484485
485486 symbol_conf.use_callchain = false;
486487 symbol_conf.cumulate_callchain = true;
487
- perf_evsel__reset_sample_bit(evsel, CALLCHAIN);
488
+ evsel__reset_sample_bit(evsel, CALLCHAIN);
488489
489490 setup_sorting(NULL);
490491 callchain_register_param(&callchain_param);
....@@ -502,7 +503,7 @@
502503 }
503504
504505 /* callchain + children */
505
-static int test4(struct perf_evsel *evsel, struct machine *machine)
506
+static int test4(struct evsel *evsel, struct machine *machine)
506507 {
507508 int err;
508509 struct hists *hists = evsel__hists(evsel);
....@@ -668,7 +669,7 @@
668669
669670 symbol_conf.use_callchain = true;
670671 symbol_conf.cumulate_callchain = true;
671
- perf_evsel__set_sample_bit(evsel, CALLCHAIN);
672
+ evsel__set_sample_bit(evsel, CALLCHAIN);
672673
673674 setup_sorting(NULL);
674675
....@@ -693,8 +694,8 @@
693694 int err = TEST_FAIL;
694695 struct machines machines;
695696 struct machine *machine;
696
- struct perf_evsel *evsel;
697
- struct perf_evlist *evlist = perf_evlist__new();
697
+ struct evsel *evsel;
698
+ struct evlist *evlist = evlist__new();
698699 size_t i;
699700 test_fn_t testcases[] = {
700701 test1,
....@@ -720,7 +721,7 @@
720721 if (verbose > 1)
721722 machine__fprintf(machine, stderr);
722723
723
- evsel = perf_evlist__first(evlist);
724
+ evsel = evlist__first(evlist);
724725
725726 for (i = 0; i < ARRAY_SIZE(testcases); i++) {
726727 err = testcases[i](evsel, machine);
....@@ -730,7 +731,7 @@
730731
731732 out:
732733 /* tear down everything */
733
- perf_evlist__delete(evlist);
734
+ evlist__delete(evlist);
734735 machines__exit(&machines);
735736
736737 return err;