* [PATCH] Xmon bug fix for soft-reset
@ 2005-08-03 5:08 Paul Mackerras
0 siblings, 0 replies; only message in thread
From: Paul Mackerras @ 2005-08-03 5:08 UTC (permalink / raw)
To: torvalds, akpm; +Cc: anton, hbabu, linux-kernel
From: Haren Myneni <haren@us.ibm.com>
For soft reset during system hang, got an error "CPU did not take
control" for some CPUs even though they responded to soft-reset (called
SystemReset, die and called debugger - xmon). First these CPUs entered
into xmon by IPI callback and then got a soft-reset exception and
re-entered into xmon again. The first CPU which re-entered into xmon got
the output lock and made into xmon successfully without unlocking.
Hence, the next CPU(s) which re-entered into xmon try to acquire a lock
(get_output_lock). Therefore, we can not view state of those CPU(s).
[This is a simple, very low risk, obvious fix for an obvious bug, and
should go into 2.6.13. -- paulus]
Signed-off-by: Haren Myneni <hbabu@us.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
---
--- linux-2.6.13-rc4-git4/arch/ppc64/xmon/xmon.c.orig 2005-08-01 22:31:09.000000000 -0700
+++ linux-2.6.13-rc4-git4/arch/ppc64/xmon/xmon.c 2005-08-01 22:33:16.000000000 -0700
@@ -329,13 +329,16 @@ int xmon_core(struct pt_regs *regs, int
printf("cpu 0x%x: Exception %lx %s in xmon, "
"returning to main loop\n",
cpu, regs->trap, getvecname(TRAP(regs)));
+ release_output_lock();
longjmp(xmon_fault_jmp[cpu], 1);
}
if (setjmp(recurse_jmp) != 0) {
if (!in_xmon || !xmon_gate) {
+ get_output_lock();
printf("xmon: WARNING: bad recursive fault "
"on cpu 0x%x\n", cpu);
+ release_output_lock();
goto waiting;
}
secondary = !(xmon_taken && cpu == xmon_owner);
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-08-03 5:10 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-08-03 5:08 [PATCH] Xmon bug fix for soft-reset Paul Mackerras
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®