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 <[email protected]>
Cc: Mark Rutland <[email protected]>
Cc: Al Grant <[email protected]>
Cc: Leo Yan <[email protected]>
Cc: John Garry <[email protected]>
Cc: Suzuki K Poulose <[email protected]>
Cc: Mathieu Poirier <[email protected]>
Cc: Catalin Marinas <[email protected]>
Signed-off-by: James Clark <[email protected]>
---
 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

Reply via email to