Skip to content

Commit 8ded1e1

Browse files
bebarinoRussell King
authored andcommitted
ARM: 8401/1: perf: Set affinity for PPI based PMUs
For PPI based PMUs, we bail out early in of_pmu_irq_cfg() without setting the PMU's supported_cpus bitmap. This causes the smp_call_function_any() in armv7_probe_num_events() to fail. Set the bitmap to be all CPUs so that we properly probe PMUs that use PPIs. Fixes: cc88116 ("arm: perf: treat PMUs as CPU affine") Cc: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
1 parent eeedcea commit 8ded1e1

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

arch/arm/kernel/perf_event.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -795,8 +795,10 @@ static int of_pmu_irq_cfg(struct arm_pmu *pmu)
795795

796796
/* Don't bother with PPIs; they're already affine */
797797
irq = platform_get_irq(pdev, 0);
798-
if (irq >= 0 && irq_is_percpu(irq))
798+
if (irq >= 0 && irq_is_percpu(irq)) {
799+
cpumask_setall(&pmu->supported_cpus);
799800
return 0;
801+
}
800802

801803
irqs = kcalloc(pdev->num_resources, sizeof(*irqs), GFP_KERNEL);
802804
if (!irqs)

0 commit comments

Comments
 (0)