linux/arch/x86/kernel/apic
Jack Steiner 2a5ef41661 x86, UV: Complete IRQ interrupt migration in arch_enable_uv_irq()
In uv_setup_irq(), the call to create_irq() initially assigns
IRQ vectors to cpu 0. The subsequent call to
assign_irq_vector() in arch_enable_uv_irq() migrates the IRQ to
another cpu and frees the cpu 0 vector - at least it will be
freed as soon as the "IRQ move" completes.

arch_enable_uv_irq() needs to send a cleanup IPI to complete
the IRQ move. Otherwise, assignment of GRU interrupts on large
systems (>200 cpus) will exhaust the cpu 0 interrupt vectors
and initialization of the GRU driver will fail.

Signed-off-by: Jack Steiner <steiner@sgi.com>
LKML-Reference: <20090720142840.GA8885@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-08-04 16:32:52 +02:00
..
Makefile
apic.c x86: Remove unused variable disable_x2apic 2009-07-03 14:34:27 +02:00
apic_flat_64.c x86: don't call read_apic_id if !cpu_has_apic 2009-05-18 08:43:25 +02:00
bigsmp_32.c
es7000_32.c x86: Fix false positive section mismatch in es7000_32.c 2009-07-13 11:03:26 +02:00
io_apic.c x86, UV: Complete IRQ interrupt migration in arch_enable_uv_irq() 2009-08-04 16:32:52 +02:00
ipi.c
nmi.c Merge branch 'linus' into x86/mce3 2009-06-11 23:31:52 +02:00
numaq_32.c x86, apic: Fix false positive section mismatch in numaq_32.c 2009-07-13 11:03:27 +02:00
probe_32.c x86: Remove duplicated #include's 2009-06-17 19:02:35 +02:00
probe_64.c x86: x2apic, IR: Clean up X86_X2APIC and INTR_REMAP config checks 2009-04-21 09:08:25 +02:00
summit_32.c x86: Remove duplicated #include's 2009-06-17 19:02:35 +02:00
x2apic_cluster.c x86: Don't use current_cpu_data in x2apic phys_pkg_id 2009-08-04 16:22:44 +02:00
x2apic_phys.c x86: Don't use current_cpu_data in x2apic phys_pkg_id 2009-08-04 16:22:44 +02:00
x2apic_uv_x.c x86, UV: Fix UV apic mode 2009-08-04 16:19:14 +02:00