[PATCH v2 0/2] perf: arm_pmuv3: Don't use PMCCNTR_EL0 on SMT cores
Yicong Yang
yangyicong at huawei.com
Mon Sep 8 00:09:49 PDT 2025
a gentle ping...
On 2025/8/20 16:45, Yicong Yang wrote:
> From: Yicong Yang <yangyicong at hisilicon.com>
>
> This patchset fixed CPU_CYCLES counting on SMT system. CPU_CYCLES can use
> PMCCNTR_EL0 which will count the hardware processor clock rather than the
> PE clock (ARM DDI0487 L.b D13.1.3) on SMT cores which fails the users
> expectation as CPU_CYCLES (0x0011) is defined to count on each PE cycles.
> Fix this by avoid using PMCCNTR_EL0 on SMT cores when counting CPU_CYCLES.
>
> Changes since v1:
> - remove redundant comment and add tags on Patch 1/2
> - detect the SMT implementation during PMU probe rather than runtime
> Link: https://lore.kernel.org/linux-arm-kernel/20250812080830.20796-1-yangyicong@huawei.com/
>
> Yicong Yang (2):
> perf: arm_pmuv3: Factor out PMCCNTR_EL0 use conditions
> perf: arm_pmuv3: Don't use PMCCNTR_EL0 on SMT cores
>
> drivers/perf/arm_pmu.c | 3 +++
> drivers/perf/arm_pmuv3.c | 39 +++++++++++++++++++++++++++++++++--
> include/linux/arch_topology.h | 11 ++++++++++
> include/linux/perf/arm_pmu.h | 1 +
> 4 files changed, 52 insertions(+), 2 deletions(-)
>
More information about the linux-arm-kernel
mailing list