Skip to content

Commit 9a711ef

Browse files
captain5050namhyung
authored andcommitted
libperf evsel: Factor perf_evsel__exit out of perf_evsel__delete
This allows the perf_evsel__exit to be called when the struct perf_evsel is embedded inside another struct, such as struct evsel in perf. Reviewed-by: Thomas Falcon <thomas.falcon@intel.com> Signed-off-by: Ian Rogers <irogers@google.com> Tested-by: James Clark <james.clark@linaro.org> Link: https://lore.kernel.org/r/20250719030517.1990983-8-irogers@google.com Signed-off-by: Namhyung Kim <namhyung@kernel.org>
1 parent 6d765f5 commit 9a711ef

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

tools/lib/perf/evsel.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,19 @@ struct perf_evsel *perf_evsel__new(struct perf_event_attr *attr)
4040
return evsel;
4141
}
4242

43-
void perf_evsel__delete(struct perf_evsel *evsel)
43+
void perf_evsel__exit(struct perf_evsel *evsel)
4444
{
4545
assert(evsel->fd == NULL); /* If not fds were not closed. */
4646
assert(evsel->mmap == NULL); /* If not munmap wasn't called. */
4747
assert(evsel->sample_id == NULL); /* If not free_id wasn't called. */
4848
perf_cpu_map__put(evsel->cpus);
4949
perf_cpu_map__put(evsel->pmu_cpus);
5050
perf_thread_map__put(evsel->threads);
51+
}
52+
53+
void perf_evsel__delete(struct perf_evsel *evsel)
54+
{
55+
perf_evsel__exit(evsel);
5156
free(evsel);
5257
}
5358

tools/lib/perf/include/internal/evsel.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ struct perf_evsel {
133133

134134
void perf_evsel__init(struct perf_evsel *evsel, struct perf_event_attr *attr,
135135
int idx);
136+
void perf_evsel__exit(struct perf_evsel *evsel);
136137
int perf_evsel__alloc_fd(struct perf_evsel *evsel, int ncpus, int nthreads);
137138
void perf_evsel__close_fd(struct perf_evsel *evsel);
138139
void perf_evsel__free_fd(struct perf_evsel *evsel);

0 commit comments

Comments
 (0)