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

James Clark james.clark at arm.com
Mon Dec 14 03:45:02 EST 2020


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 at kernel.org>
Cc: Mark Rutland <mark.rutland at arm.com>
Cc: Al Grant <al.grant at arm.com>
Cc: Leo Yan <leo.yan at linaro.org>
Cc: John Garry <john.garry at huawei.com>
Cc: Suzuki K Poulose <suzuki.poulose at arm.com>
Cc: Mathieu Poirier <mathieu.poirier at linaro.org>
Cc: Catalin Marinas <catalin.marinas at arm.com>
Signed-off-by: James Clark <james.clark at arm.com>
---
 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




More information about the linux-arm-kernel mailing list