irqchip/gic-v3: Always trust the managed affinity provided by the core code
authorMarc Zyngier <maz@kernel.org>
Tue, 5 Apr 2022 18:50:40 +0000 (19:50 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 10 Apr 2022 19:06:30 +0000 (21:06 +0200)
Now that the core code has been fixed to always give us an affinity
that only includes online CPUs, directly use this affinity when
computing a target CPU.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20220405185040.206297-4-maz@kernel.org
drivers/irqchip/irq-gic-v3-its.c

index cd77297..2656efd 100644 (file)
@@ -1624,7 +1624,7 @@ static int its_select_cpu(struct irq_data *d,
 
                cpu = cpumask_pick_least_loaded(d, tmpmask);
        } else {
-               cpumask_and(tmpmask, irq_data_get_affinity_mask(d), cpu_online_mask);
+               cpumask_copy(tmpmask, aff_mask);
 
                /* If we cannot cross sockets, limit the search to that node */
                if ((its_dev->its->flags & ITS_FLAGS_WORKAROUND_CAVIUM_23144) &&