From 59e9010741f26f53480eee0aefd676ad5ed66a44 Mon Sep 17 00:00:00 2001 From: Sultan Alsawaf Date: Fri, 14 Aug 2020 20:11:38 -0700 Subject: [PATCH] kernel: Only set one CPU in the default IRQ affinity mask On ARM, IRQs are executed on the first CPU inside the affinity mask, so setting an affinity mask with more than one CPU set is deceptive and causes issues with pm_qos. To fix this, only set the CPU0 bit inside the affinity mask, since that's where IRQs will run by default. This is a follow-up to "kernel: Don't allow IRQ affinity masks to have more than one CPU". Signed-off-by: Sultan Alsawaf --- kernel/irq/irqdesc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c index 92784b290564..bb68012cc4bb 100755 --- a/kernel/irq/irqdesc.c +++ b/kernel/irq/irqdesc.c @@ -43,7 +43,7 @@ static void __init init_irq_default_affinity(void) if (!cpumask_available(irq_default_affinity)) zalloc_cpumask_var(&irq_default_affinity, GFP_NOWAIT); if (cpumask_empty(irq_default_affinity)) - cpumask_setall(irq_default_affinity); + cpumask_set_cpu(0, irq_default_affinity); } #else static void __init init_irq_default_affinity(void)