Commit 6ab89b7f authored by Ian Rogers's avatar Ian Rogers Committed by Namhyung Kim
Browse files

perf evsel: Add pmu_name helper



Add helper to get the name of the evsel's PMU. This handles the case
where there's no sysfs PMU via parse_events event_type helper.

Signed-off-by: default avatarIan Rogers <irogers@google.com>
Tested-by: default avatarJames Clark <james.clark@linaro.org>
Tested-by: default avatarLeo Yan <leo.yan@arm.com>
Tested-by: default avatarAtish Patra <atishp@rivosinc.com>
Link: https://lore.kernel.org/r/20250109222109.567031-2-irogers@google.com


Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
parent 66e99fd5
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -237,6 +237,16 @@ int evsel__object_config(size_t object_size, int (*init)(struct evsel *evsel),
	return 0;
}

const char *evsel__pmu_name(const struct evsel *evsel)
{
	struct perf_pmu *pmu = evsel__find_pmu(evsel);

	if (pmu)
		return pmu->name;

	return event_type(evsel->core.attr.type);
}

#define FD(e, x, y) (*(int *)xyarray__entry(e->core.fd, x, y))

int __evsel__sample_size(u64 sample_type)
+1 −0
Original line number Diff line number Diff line
@@ -236,6 +236,7 @@ int evsel__object_config(size_t object_size,
			 void (*fini)(struct evsel *evsel));

struct perf_pmu *evsel__find_pmu(const struct evsel *evsel);
const char *evsel__pmu_name(const struct evsel *evsel);
bool evsel__is_aux_event(const struct evsel *evsel);

struct evsel *evsel__new_idx(struct perf_event_attr *attr, int idx);