[PATCH v2] drivers/perf: Enable PID_IN_CONTEXTIDR with SPE

From: James Clark
Date: Mon Dec 14 2020 - 03:46:29 EST


Enable PID_IN_CONTEXTIDR by default when Arm SPE is enabled.
This flag is required to get PID data in the SPE trace. Without
it the perf tool will report 0 for PID which isn't very useful,
especially when doing system wide profiling or profiling
applications that fork.

There is a small performance overhead when enabling
PID_IN_CONTEXTIDR, but SPE itself is optional and not enabled by
default so the impact is minimised.

Cc: Will Deacon <will@xxxxxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Al Grant <al.grant@xxxxxxx>
Cc: Leo Yan <leo.yan@xxxxxxxxxx>
Cc: John Garry <john.garry@xxxxxxxxxx>
Cc: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
Cc: Mathieu Poirier <mathieu.poirier@xxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Signed-off-by: James Clark <james.clark@xxxxxxx>
---
arch/arm64/Kconfig.debug | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm64/Kconfig.debug b/arch/arm64/Kconfig.debug
index 265c4461031f..b030bb21a0bb 100644
--- a/arch/arm64/Kconfig.debug
+++ b/arch/arm64/Kconfig.debug
@@ -2,6 +2,7 @@

config PID_IN_CONTEXTIDR
bool "Write the current PID to the CONTEXTIDR register"
+ default y if ARM_SPE_PMU
help
Enabling this option causes the kernel to write the current PID to
the CONTEXTIDR register, at the expense of some additional
--
2.28.0