[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