summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/io_apic.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-01-14 12:13:45 +0100
committerIngo Molnar <mingo@elte.hu>2009-01-14 12:13:45 +0100
commite46d51787e23a607cac5f593ac9926743a636dff (patch)
tree4efb93f31c6eacb8fcbaa137acf894ea8d309e0e /arch/x86/kernel/io_apic.c
parenta4a0acf8e17e3d08e28b721ceceb898fbc959ceb (diff)
parent4a046d1754ee6ebb6f399696805ed61ea0444d4c (diff)
downloadkernel-crypto-e46d51787e23a607cac5f593ac9926743a636dff.tar.gz
kernel-crypto-e46d51787e23a607cac5f593ac9926743a636dff.tar.xz
kernel-crypto-e46d51787e23a607cac5f593ac9926743a636dff.zip
Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/travis/linux-2.6-cpus4096-for-ingo into cpus4096
Diffstat (limited to 'arch/x86/kernel/io_apic.c')
-rw-r--r--arch/x86/kernel/io_apic.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/x86/kernel/io_apic.c b/arch/x86/kernel/io_apic.c
index ae80638012d..157986916cd 100644
--- a/arch/x86/kernel/io_apic.c
+++ b/arch/x86/kernel/io_apic.c
@@ -3850,6 +3850,22 @@ void __init probe_nr_irqs_gsi(void)
nr_irqs_gsi = nr;
}
+#ifdef CONFIG_SPARSE_IRQ
+int __init arch_probe_nr_irqs(void)
+{
+ int nr;
+
+ nr = ((8 * nr_cpu_ids) > (32 * nr_ioapics) ?
+ (NR_VECTORS + (8 * nr_cpu_ids)) :
+ (NR_VECTORS + (32 * nr_ioapics)));
+
+ if (nr < nr_irqs && nr > nr_irqs_gsi)
+ nr_irqs = nr;
+
+ return 0;
+}
+#endif
+
/* --------------------------------------------------------------------------
ACPI-based IOAPIC Configuration
-------------------------------------------------------------------------- */