Messages in this thread | | | From | Mark Rutland <> | Subject | [PATCH 0/2] arm_pmu: fix fallout from context handling rewrite | Date | Thu, 16 Feb 2023 14:12:37 +0000 |
| |
Janne reports [1] that perf has been broken on Apple M1 as of commit:
bd27568117664b8b ("perf: Rewrite core context handling")
This is due to changes to pmu::filter_match() and arm_pmu::filter_match(), which have been renamed and had their polarity inverted, but the conversion was inconsistent, and so in some cases we return the opposite result relative to what we had intended. This results in consistently losing events on Apple M1.
That commit also (silently) removed the filtering of CHAIN events, which is undesireable.
These patches fix and simplify the CPU filtering, and replace the CHAIN event filtering with early rejection of CHAIN events, which is much simpler.
Thanks, Mark
[1] https://lore.kernel.org/asahi/20230215-arm_pmu_m1_regression-v1-1-f5a266577c8d@jannau.net/
Mark Rutland (2): arm_pmu: fix event CPU filtering arm64: perf: reject CHAIN events at creation time
arch/arm64/kernel/perf_event.c | 15 ++++++++------- drivers/perf/arm_pmu.c | 8 +------- include/linux/perf/arm_pmu.h | 1 - 3 files changed, 9 insertions(+), 15 deletions(-)
-- 2.30.2
| |