[PATCH -next] perf: arm_pmu: Fix build on arm if !CONFIG_GENERIC_ARCH_TOPOLOGY
Will Deacon
will at kernel.org
Tue Nov 4 08:33:03 PST 2025
On Tue, Nov 04, 2025 at 09:40:04PM +0800, Yicong Yang wrote:
> The SMT implementation is retrieved by topology_core_has_smt() which
> depends on CONFIG_GENERIC_ARCH_TOPOLOGY. The config is optional on
> arm platforms so protect the usage with CONFIG_GENERIC_ARCH_TOPOLOGY.
>
> Fixes: c3d78c34ad00 ("perf: arm_pmuv3: Don't use PMCCNTR_EL0 on SMT cores")
> Reported-by: kernel test robot <lkp at intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202511041757.vuCGOmFc-lkp@intel.com/
> Signed-off-by: Yicong Yang <yangyccccc at gmail.com>
> ---
> drivers/perf/arm_pmu.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/perf/arm_pmu.c b/drivers/perf/arm_pmu.c
> index ae437791b5f8..f38bdeb906f0 100644
> --- a/drivers/perf/arm_pmu.c
> +++ b/drivers/perf/arm_pmu.c
> @@ -925,11 +925,13 @@ int armpmu_register(struct arm_pmu *pmu)
> if (ret)
> return ret;
>
> +#ifdef CONFIG_GENERIC_ARCH_TOPOLOGY
> /*
> * By this stage we know our supported CPUs on either DT/ACPI platforms,
> * detect the SMT implementation.
> */
> pmu->has_smt = topology_core_has_smt(cpumask_first(&pmu->supported_cpus));
> +#endif
>
> if (!pmu->set_event_filter)
> pmu->pmu.capabilities |= PERF_PMU_CAP_NO_EXCLUDE;
> --
> 2.50.1 (Apple Git-155)
Wouldn't we be better off adding something like:
#else
static inline bool topology_core_has_smt(int cpu) { return false; }
#endif /* CONFIG_GENERIC_ARCH_TOPOLOGY */
to the bottom of include/linux/arch_topology.h?
Will
More information about the linux-arm-kernel
mailing list