[PATCHv2 0/2] arm-cc*: fix PMU interrupt flags

Will Deacon will.deacon at arm.com
Mon Jul 4 05:57:40 PDT 2016


On Mon, Jul 04, 2016 at 12:25:30PM +0100, Mark Rutland wrote:
> As discovered during review of the X-Gene SoC PMU [1], the arm-cc{i,n} drivers
> don't ensure that IRQ balancers don't migrate interrupts.
> 
> This is problematic for the perf core code, which requires mutual exclusion of
> certain operations (e.g. event rotation, cross-calls, and irq handling) to be
> provided by disabling IRQs, which only works if all operations occur on the
> same CPU. This is also required for safe (lockless) manipulation of some data
> structures.
> 
> To avoid this problem, we must request interrupts with IRQF_NOBALANCING, as is
> already the case for CPU PMU drivers which make use of interrupts.
> 
> To ensure synchronisation between IRQ handlers and other manipulation of said
> data structures or HW state, we must also ensure that the interrupt handlers
> are not threaded, by requesting them with IRQF_NO_THREAD, as is already the
> case for CPU PMU drivers.

Thanks, looks good now:

Reviewed-by: Will Deacon <will.deacon at arm.com>

Will



More information about the linux-arm-kernel mailing list