[PATCH v7 0/2] perf tools: Add PMU alias support

From: Jin Yao
Date: Thu Sep 02 2021 - 03:01:52 EST


A perf uncore PMU may have two PMU names, a real name and an alias name.
With this patch set, the perf tool can monitor the PMU with either the
real name or the alias.

Use the real name,
$ perf stat -e uncore_cha_2/event=1/ -x,
4044879584,,uncore_cha_2/event=1/,2528059205,100.00,,

Use the alias,
$ perf stat -e uncore_type_0_2/event=1/ -x,
3659675336,,uncore_type_0_2/event=1/,2287306455,100.00,,

v7:
---
1. Create 'struct perf_pmu_alias_name' constructor/destructor.
2. Return '-errno' if opendir() is failed.

v6:
---
1. Call setup_pmu_alias_list in pmu_find_alias_name.
2. Check pmu->name and pmu->alias_name after strdup in pmu_lookup.

v5:
---
1. Don't use strdup in find functions (pmu_find_real_name and
pmu_find_alias_name). Just return name and keep the
'pmu->name = strdup(name);' in pmu_lookup.

2. Remove invalid comment for alias_name in struct perf_pmu.

v4:
---
1. Fix memory leaks in pmu_lookup.
2. Rebase to perf/core.

v3:
---
1. Use fgets() to replace fscanf().
2. Resource cleanup.

v2:
---
Add test case to verify the real name and alias name having same effect.

Jin Yao (1):
perf tests: Test for PMU alias

Kan Liang (1):
perf pmu: Add PMU alias support

tools/perf/arch/x86/util/pmu.c | 155 +++++++++++++++++++++++++++++++-
tools/perf/tests/parse-events.c | 92 +++++++++++++++++++
tools/perf/util/parse-events.y | 3 +-
tools/perf/util/pmu.c | 40 ++++++++-
tools/perf/util/pmu.h | 5 ++
5 files changed, 290 insertions(+), 5 deletions(-)

--
2.17.1