summaryrefslogtreecommitdiff
path: root/tools/perf/tests/switch-tracking.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/tests/switch-tracking.c')
-rw-r--r--tools/perf/tests/switch-tracking.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/tools/perf/tests/switch-tracking.c b/tools/perf/tests/switch-tracking.c
index 15791fcb76b2..73568c782d72 100644
--- a/tools/perf/tests/switch-tracking.c
+++ b/tools/perf/tests/switch-tracking.c
@@ -138,10 +138,13 @@ static int process_sample_event(struct evlist *evlist,
goto out;
}
- evsel = evlist__id2evsel(evlist, sample.id);
+ evsel = sample.evsel;
+ if (!evsel)
+ evsel = evlist__id2evsel(evlist, sample.id);
+
if (evsel == switch_tracking->switch_evsel) {
- next_tid = evsel__intval(evsel, &sample, "next_pid");
- prev_tid = evsel__intval(evsel, &sample, "prev_pid");
+ next_tid = perf_sample__intval(&sample, "next_pid");
+ prev_tid = perf_sample__intval(&sample, "prev_pid");
cpu = sample.cpu;
pr_debug3("sched_switch: cpu: %d prev_tid %d next_tid %d\n",
cpu, prev_tid, next_tid);
@@ -234,16 +237,19 @@ static int add_event(struct evlist *evlist, struct list_head *events,
if (evlist__parse_sample(evlist, event, &sample)) {
pr_debug("evlist__parse_sample failed\n");
+ perf_sample__exit(&sample);
return -1;
}
if (!sample.time) {
pr_debug("event with no time\n");
+ perf_sample__exit(&sample);
return -1;
}
node->event_time = sample.time;
+ perf_sample__exit(&sample);
return 0;
}
@@ -277,8 +283,8 @@ static int process_events(struct evlist *evlist,
struct mmap *md;
int i, ret;
- for (i = 0; i < evlist->core.nr_mmaps; i++) {
- md = &evlist->mmap[i];
+ for (i = 0; i < evlist__core(evlist)->nr_mmaps; i++) {
+ md = &evlist__mmap(evlist)[i];
if (perf_mmap__read_init(&md->core) < 0)
continue;
@@ -369,7 +375,7 @@ static int test__switch_tracking(struct test_suite *test __maybe_unused, int sub
goto out_err;
}
- perf_evlist__set_maps(&evlist->core, cpus, threads);
+ perf_evlist__set_maps(evlist__core(evlist), cpus, threads);
/* First event */
err = parse_event(evlist, "cpu-clock:u");
@@ -466,7 +472,7 @@ static int test__switch_tracking(struct test_suite *test __maybe_unused, int sub
goto out;
}
- err = evlist__mmap(evlist, UINT_MAX);
+ err = evlist__do_mmap(evlist, UINT_MAX);
if (err) {
pr_debug("evlist__mmap failed!\n");
goto out_err;
@@ -577,7 +583,7 @@ static int test__switch_tracking(struct test_suite *test __maybe_unused, int sub
out:
if (evlist) {
evlist__disable(evlist);
- evlist__delete(evlist);
+ evlist__put(evlist);
}
perf_cpu_map__put(cpus);
perf_thread_map__put(threads);