[PATCH/RFC] powerpc: could not stop CPU(s) even with soft-reset when debugger enabled

Haren Myneni hbabu at us.ibm.com
Fri Apr 7 06:47:11 EST 2006


- During CPU(s) hang scenarios, kdump could not stop these CPUs. However, 
the user could invoke soft-reset to shoot down CPUs reliably. But, when 
the debugger is enabled, these CPUs are returned to hang state after they 
exited from the debugger. This patch fixes this issue by calling 
crash_kexec_secondary() before returns to previous state. 


Signed-off-by: Haren Myneni <haren at us.ibm.com>

--- 2617-rc1/arch/powerpc/kernel/traps.c.orig            2006-04-05 
13:25:22.000000000 -0700
+++ 2617-rc1/arch/powerpc/kernel/traps.c                 2006-04-05 
13:25:33.000000000 -0700
@@ -206,6 +206,16 @@ void system_reset_exception(struct pt_re
 
                 die("System Reset", regs, SIGABRT);
 
+                /*
+                 * Some CPUs which got released from debugger will 
execute this path.
+                 * These CPUs entered debugger first time via soft-reset 
- Means,
+                 * could be possible that these CPUs may not repond to an 
IPI later.
+                 * Therefore, has to call kdump func directly.
+                 * Not a problem if we exited from debugger to recover. 
In this case
+                 * there will not be any primary kexec CPU. Hence, will 
be returned.
+                 */
+                crash_kexec_secondary(regs);
+
                 /* Must die if the interrupt is not recoverable */
                 if (!(regs->msr & MSR_RI))
                                 panic("Unrecoverable System Reset");
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20060406/c1891daa/attachment.htm>


More information about the Linuxppc-dev mailing list