Commit 24422392 authored by Marc Zyngier's avatar Marc Zyngier Committed by Zheng Zengkai
Browse files

irqchip/gic-v3: Always trust the managed affinity provided by the core code

mainline inclusion
from mainline-v5.19-rc1
commit 3f893a59
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I5F4TK
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3f893a5962d31c0164efdbf6174ed0784f1d7603



--------------------------------

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: default avatarMarc Zyngier <maz@kernel.org>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20220405185040.206297-4-maz@kernel.org


Signed-off-by: default avatarChen Jiahao <chenjiahao16@huawei.com>
Reviewed-by: default avatarZhang Jianhua <chris.zjh@huawei.com>
Reviewed-by: default avatarLiao Chang <liaochang1@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parent 02e63c4d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1632,7 +1632,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) &&