[PATCH V3 0/4] perf/core: Assert PERF_EVENT_FLAG_ARCH is followed

From: Anshuman Khandual
Date: Wed Sep 07 2022 - 05:20:11 EST


This series ensures that PERF_EVENT_FLAG_ARCH mask is followed correctly
while defining all the platform specific hardware event flags. But first
this expands PERF_EVENT_FLAG_ARCH with another four bits, to accommodate
some x86 platform event flags which were going beyond the existing mask.

This series applies on v6.0-rc4.

Changes in V3:

- Reworked event flags check on x86 platform as per Peter

Changes in V2:

https://lore.kernel.org/all/20220905054239.324029-1-anshuman.khandual@xxxxxxx/

- Added first patch to expand PERF_EVENT_FLAG_ARCH
- Converted all BUILD_BUG_ON() into static_assert()

Changes in V1:

https://lore.kernel.org/all/20220829065507.177781-1-anshuman.khandual@xxxxxxx/

Cc: James Clark <james.clark@xxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: linux-perf-users@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: x86@xxxxxxxxxx

Anshuman Khandual (4):
perf/core: Expand PERF_EVENT_FLAG_ARCH
perf/core: Assert PERF_EVENT_FLAG_ARCH does not overlap with generic flags
arm64/perf: Assert all platform event flags are within PERF_EVENT_FLAG_ARCH
x86/perf: Assert all platform event flags are within PERF_EVENT_FLAG_ARCH

arch/x86/events/perf_event.h | 34 ++++++++++++++----------------
arch/x86/events/perf_event_flags.h | 22 +++++++++++++++++++
drivers/perf/arm_spe_pmu.c | 4 +++-
include/linux/perf/arm_pmu.h | 9 ++++----
include/linux/perf_event.h | 4 +++-
5 files changed, 49 insertions(+), 24 deletions(-)
create mode 100644 arch/x86/events/perf_event_flags.h

--
2.25.1