diff options
author | Kim Phillips <kim.phillips@freescale.com> | 2012-05-17 11:11:45 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-05-22 00:38:26 -0400 |
commit | 2074b1d9d53ae696dd3f49482bad43254f40f01d (patch) | |
tree | 8e1ac0d5264e0d5cbdadcec5989dd4c258ea90b0 | |
parent | 6749ef0b8b1f8aa72cc93c874edef39f4c0533ba (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.c | 2 |
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; |