[PATCH v4 16/26] genirq: Allow per-cpu interrupt sharing for non-overlapping affinities

Jonathan Cameron jonathan.cameron at huawei.com
Wed Nov 12 10:25:21 PST 2025


On Mon, 20 Oct 2025 13:29:33 +0100
Marc Zyngier <maz at kernel.org> wrote:

> Interrupt sharing for percpu-devid interrupts is forbidden, and
> for good reasons. These are interrupts generated *from* a CPU and
> handled by itself (timer, for example). Nobody in their right mind
> would put two devices on the same pin (and if they have, they get to
> keep the pieces...).
> 
> But this also prevents more benign cases, where devices are connected
> to groups of CPUs, and for which the affinities are not overlapping.
> Effectively, the only thing they share is the interrupt number, and
> nothing else.
> 
> Let's tweak the definition of IRQF_SHARED applied to percpu_devid
> interrupts to allow this particular case. This results in extra
> validation at the point of the interrupt being setup and freed,
> as well as a tiny bit of extra complexity for interrupts at handling
> time (to pick the correct irqaction).
> 
> Tested-by: Will Deacon <will at kernel.org>
> Signed-off-by: Marc Zyngier <maz at kernel.org>
Reviewed-by: Jonathan Cameron <jonathan.cameron at huawei.com>



More information about the linux-arm-kernel mailing list