Commit 1b59e286 authored by Bjorn Helgaas's avatar Bjorn Helgaas Committed by Tony Luck

[IA64] iosapic.c: don't direct interrupts to offline cpus

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: default avatarBjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent d8af8ae6
...@@ -522,6 +522,11 @@ get_target_cpu (unsigned int gsi, int vector) ...@@ -522,6 +522,11 @@ get_target_cpu (unsigned int gsi, int vector)
cpu_mask = node_to_cpumask(iosapic_lists[iosapic_index].node); 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); num_cpus = cpus_weight(cpu_mask);
if (!num_cpus) if (!num_cpus)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment