[PATCH] Fix interrupt distribution in ppc970
Mohan Kumar M
mohan at in.ibm.com
Wed Mar 7 00:57:54 EST 2007
Hi,
Here comes the revised version of patch to fix the interrupt missing
problem when a kdump kernel is booted with "maxcpus=1" kernel parameter.
In the xics initialization code a check is made to detemine whether
maxcpus kernel parameter is present and if its present then
default_distrib_server variable is initialized to the current boot cpu
id (by default_server variable). So that when ever a kernel is booted
with maxcpus kernel parameter all interrupts are routed to the boot cpu
only.
Tested on POWER5 and JS20 systems.
Any comment?
Signed-off-by: Mohan Kumar M <mohan at in.ibm.com>
---
arch/powerpc/platforms/pseries/xics.c | 7 +++++++
1 file changed, 7 insertions(+)
Index: linux-2.6.20/arch/powerpc/platforms/pseries/xics.c
===================================================================
--- linux-2.6.20.orig/arch/powerpc/platforms/pseries/xics.c
+++ linux-2.6.20/arch/powerpc/platforms/pseries/xics.c
@@ -734,6 +734,13 @@ void __init xics_init_IRQ(void)
skip_gserver_check:
of_node_put(np);
+ /* Kdump with maxcpus parameter in PPC970xx creates interrupt
+ * distribution problems. So assign current boot cpu id to
+ * interrupt distribution server
+ */
+ if (strstr(saved_command_line, "maxcpus="))
+ default_distrib_server = default_server;
+
if (firmware_has_feature(FW_FEATURE_LPAR))
ppc_md.get_irq = xics_get_irq_lpar;
else
More information about the Linuxppc-dev
mailing list