Re: [PATCH 14/25] genirq: Update request_percpu_nmi() to take an affinity

Thomas Gleixner
2025-09-09T09:45:39Z

On Mon, Sep 08 2025 at 17:31, Marc Zyngier wrote:
> @@ -2564,13 +2566,14 @@ int request_percpu_nmi(unsigned int irq, irq_handler_t handler,
> !irq_supports_nmi(desc))
> return -EINVAL;
>
> - /* The line cannot already be NMI */
> - if (irq_is_nmi(desc))
> + /* The line cannot be NMI already if the new request covers all CPUs */
> + if (irq_is_nmi(desc) &&
> + (!affinity || cpumask_equal(affinity, cpu_possible_mask)))
> return -EINVAL;

This check looks odd. What makes sure that the affinities do not
overlap?

Thanks,

tglx