[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