Ignore offline CPUs when registering IOSAPIC interrupts. We previously
directed interrupts even to offline CPUs, which means that if you have some
unused CPUs (e.g., you used "maxcpus="), some interrupts won't work.
This really hurts because distro installs typically use "maxcpus=1".
Patch by Alex Williamson.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
goto skip_numa_setup;
cpu_mask = node_to_cpumask(iosapic_lists[iosapic_index].node);
-
+
+ for_each_cpu_mask(numa_cpu, cpu_mask) {
+ if (!cpu_online(numa_cpu))
+ cpu_clear(numa_cpu, cpu_mask);
+ }
+
num_cpus = cpus_weight(cpu_mask);
if (!num_cpus)