[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241210093449.1662-1-ravi.bangoria@amd.com>
Date: Tue, 10 Dec 2024 09:34:39 +0000
From: Ravi Bangoria <ravi.bangoria@....com>
To: <peterz@...radead.org>, <mingo@...hat.com>, <namhyung@...nel.org>
CC: <ravi.bangoria@....com>, <acme@...nel.org>, <eranian@...gle.com>,
<mark.rutland@....com>, <alexander.shishkin@...ux.intel.com>,
<jolsa@...nel.org>, <irogers@...gle.com>, <adrian.hunter@...el.com>,
<kan.liang@...ux.intel.com>, <tglx@...utronix.de>, <bp@...en8.de>,
<dave.hansen@...ux.intel.com>, <x86@...nel.org>, <hpa@...or.com>,
<linux-perf-users@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<santosh.shukla@....com>, <ananth.narayan@....com>, <sandipan.das@....com>
Subject: [PATCH v3 00/10] perf/amd/ibs: Fix sample period computations
IBS Fetch and IBS Op PMUs have constraints on supported sample period
values. The IBS hw behavior could be undefined if they are not followed.
Currently, IBS driver does not honor them correctly and thus a malicious
event could cause issues to the system. Fortunately, the IBS hw is very
resilient so far and IBS PMUs are restricted to root only, so the attack
vector is minimal. In any case, these are genuine bugs and must be fixed.
There were some conflicts with Namhyung's IBS patches[1] which are now
in the tip tree, so rebased the series on tip/perf/core (02c56362a7d3).
v2: https://lore.kernel.org/r/20241206051713.991-1-ravi.bangoria@amd.com
v2->v3:
- No code changes
- s/pmu/PMU/g
- Include unit test example in the commit description
[1]: https://lore.kernel.org/r/20241203180441.1634709-1-namhyung@kernel.org
Ravi Bangoria (10):
perf/amd/ibs: Remove IBS_{FETCH|OP}_CONFIG_MASK macros
perf/amd/ibs: Remove pointless sample period check
perf/amd/ibs: Fix ->config to sample period calculation for OP PMU
perf/amd/ibs: Fix perf_ibs_op.cnt_mask for CurCnt
perf/amd/ibs: Don't allow freq mode event creation through ->config
interface
perf/amd/ibs: Add PMU specific minimum period
perf/amd/ibs: Add ->check_period() callback
perf/core: Introduce pmu->adjust_period() callback
perf test: Introduce DEFINE_SUITE_EXCLUSIVE()
perf test amd ibs: Add sample period unit test
arch/x86/events/amd/ibs.c | 96 ++-
arch/x86/include/asm/perf_event.h | 1 +
include/linux/perf_event.h | 5 +
kernel/events/core.c | 12 +-
tools/perf/arch/x86/include/arch-tests.h | 1 +
tools/perf/arch/x86/tests/Build | 1 +
tools/perf/arch/x86/tests/amd-ibs-period.c | 953 +++++++++++++++++++++
tools/perf/arch/x86/tests/arch-tests.c | 2 +
tools/perf/tests/tests.h | 10 +
9 files changed, 1055 insertions(+), 26 deletions(-)
create mode 100644 tools/perf/arch/x86/tests/amd-ibs-period.c
--
2.43.0
Powered by blists - more mailing lists