[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