[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230504110003.2548-1-ravi.bangoria@amd.com>
Date: Thu, 4 May 2023 16:29:59 +0530
From: Ravi Bangoria <ravi.bangoria@....com>
To: <peterz@...radead.org>
CC: <ravi.bangoria@....com>, <namhyung@...nel.org>,
<eranian@...gle.com>, <acme@...nel.org>, <mark.rutland@....com>,
<jolsa@...nel.org>, <irogers@...gle.com>, <bp@...en8.de>,
<kan.liang@...ux.intel.com>, <adrian.hunter@...el.com>,
<maddy@...ux.ibm.com>, <x86@...nel.org>,
<linux-perf-users@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<sandipan.das@....com>, <ananth.narayan@....com>,
<santosh.shukla@....com>
Subject: [PATCH v4 0/4] perf: Rework event forwarding logic
Usually, events are opened on the same pmu as requested by user via
perf_event_attr->type argument. But certain special events are
internally redirected to different pmu. Currently such pmus needs to
be treated specially and thus requires some gruesome hacks.
An approach, suggested by Peter Zijlstra, to get rid of these hacks
was to overwrite event attributes with new pmu's attribute values
within the kernel and let perf_event_init() retry opening the event
with overwritten values. This patch series implements it.
v3: https://lore.kernel.org/r/20230425142205.762-1-ravi.bangoria@amd.com
v3->v4:
- Split pmu linear searching changes into a separate patch with few
additional changes.
- Use special pointer value (void *)(~0) instead of introducing new
variable to skip creating sysfs/dev files.
- Move AMD IBS unit test under tools/perf/arch/x86/tests/
Patches are prepared on v6.3.
Ravi Bangoria (4):
perf/core: Rework forwarding of {task|cpu}-clock events
perf/ibs: Fix interface via core pmu events
perf/core: Remove pmu linear searching code
perf test: Add selftest to test IBS invocation via core pmu events
arch/x86/events/amd/core.c | 2 +-
arch/x86/events/amd/ibs.c | 53 ++++----
arch/x86/include/asm/perf_event.h | 2 +
include/linux/perf_event.h | 10 ++
kernel/events/core.c | 114 +++++++++---------
tools/perf/arch/x86/include/arch-tests.h | 1 +
tools/perf/arch/x86/tests/Build | 1 +
.../arch/x86/tests/amd-ibs-via-core-pmu.c | 71 +++++++++++
tools/perf/arch/x86/tests/arch-tests.c | 2 +
9 files changed, 168 insertions(+), 88 deletions(-)
create mode 100644 tools/perf/arch/x86/tests/amd-ibs-via-core-pmu.c
--
2.40.0
Powered by blists - more mailing lists