[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1219349409-15698-1-git-send-email-yhlu.kernel@gmail.com>
Date: Thu, 21 Aug 2008 13:10:09 -0700
From: Yinghai Lu <yhlu.kernel@...il.com>
To: Ingo Molnar <mingo@...e.hu>, Thomas Gleixner <tglx@...utronix.de>,
"H. Peter Anvin" <hpa@...or.com>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, Yinghai Lu <yhlu.kernel@...il.com>,
Alex Nixon <alex.nixon@...rix.com>
Subject: [PATCH] x86: fix probe_nr_irqs for xen
otherwise Xen is _completely_ unusable with 5 or more VCPUs.
( when !CONFIG_HAVE_SPARSE_IRQ)
based on Alex's patch
also add +1 offset after redir_entries
Signed-off-by: Yinghai Lu <yhlu.kernel@...il.com>
Cc: Alex Nixon <alex.nixon@...rix.com>
Index: linux-2.6/arch/x86/kernel/io_apic.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/io_apic.c
+++ linux-2.6/arch/x86/kernel/io_apic.c
@@ -3625,16 +3625,21 @@ int __init probe_nr_irqs(void)
{
int idx;
int nr = 0;
+#ifndef CONFIG_XEN
+ int nr_min = 32;
+#else
+ int nr_min = NR_IRQS;
+#endif
for (idx = 0; idx < nr_ioapics; idx++)
- nr += io_apic_get_redir_entries(idx);
+ nr += io_apic_get_redir_entries(idx) + 1;
/* double it for hotplug and msi and nmi */
nr <<= 1;
/* something wrong ? */
- if (nr < 32)
- nr = 32;
+ if (nr < nr_min)
+ nr = nr_min;
return nr;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists