Re: [PATCH] perf: arm_cspmu: Don't touch interrupt registers if no interrupt was assigned
From: Robin Murphy
Date: Mon Apr 08 2024 - 08:05:15 EST
On 2024-04-05 11:33 pm, Ilkka Koskinen wrote:
On Fri, 5 Apr 2024, Robin Murphy wrote:
On 2024-03-07 7:31 pm, Ilkka Koskinen wrote:
The driver enabled and disabled interrupts even if no interrupt was
assigned to the device.
Why's that a concern - if the interrupt isn't routed anywhere, surely
it makes no difference what happens at the source end?
The issue is that we have two PMUs attached to the same interrupt line.
Unfortunately, I just don't seem to find time to add support for shared
interrupts to the cspmu driver. Meanwhile, I assigned the interrupt to
one of the PMUs while the other one has zero in the APMT table.
I suspected something like that ;)
Without
the patch, I can trigger "ghost interrupt" in the latter PMU.
An occasional spurious interrupt should be no big deal. If it ends up as
a screaming spurious interrupt because we never handle the overflow
condition on the "other" PMU, then what matters most is that we never
handle the overflow, thus the "other" PMU is still useless since you
can't assume the user is going to read it frequently enough to avoid
losing information and getting nonsense counts back. So this hack really
isn't a viable solution for anything.
Thanks,
Robin.