aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Phillips <kim.phillips@freescale.com>2012-05-17 11:11:45 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2012-05-22 00:38:26 -0400
commit2074b1d9d53ae696dd3f49482bad43254f40f01d (patch)
tree8e1ac0d5264e0d5cbdadcec5989dd4c258ea90b0
parent6749ef0b8b1f8aa72cc93c874edef39f4c0533ba (diff)
powerpc: Fix irq distribution
setting CONFIG_IRQ_ALL_CPUS distributes IRQs to CPUs only when the number of online CPUs equals NR_CPUS. See commit 280ff97494e0fef4124bee5c52e39b23a18dd283 "sparc64: fix and optimize irq distribution" for more details. Using the online mask fixes IRQ-to-CPU distribution on systems that boot with less than NR_CPUS. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r--arch/powerpc/kernel/irq.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
index 641da9e868ce..7835a5e1ea5f 100644
--- a/arch/powerpc/kernel/irq.c
+++ b/arch/powerpc/kernel/irq.c
@@ -587,7 +587,7 @@ int irq_choose_cpu(const struct cpumask *mask)
587{ 587{
588 int cpuid; 588 int cpuid;
589 589
590 if (cpumask_equal(mask, cpu_all_mask)) { 590 if (cpumask_equal(mask, cpu_online_mask)) {
591 static int irq_rover; 591 static int irq_rover;
592 static DEFINE_RAW_SPINLOCK(irq_rover_lock); 592 static DEFINE_RAW_SPINLOCK(irq_rover_lock);
593 unsigned long flags; 593 unsigned long flags;