diff options
author | David S. Miller <davem@davemloft.net> | 2008-05-19 23:46:00 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-05-20 00:33:45 -0700 |
commit | 93dae5b70e7c1c8e927d22e1c20a941ca376906a (patch) | |
tree | f255087706b9d176455b17e4384f4632f59f4cde /drivers/char | |
parent | 88278ca27a43ae503572b52ea2c171fbf45db5a2 (diff) | |
download | talos-obmc-linux-93dae5b70e7c1c8e927d22e1c20a941ca376906a.tar.gz talos-obmc-linux-93dae5b70e7c1c8e927d22e1c20a941ca376906a.zip |
sparc64: Add global register dumping facility.
When a cpu really is stuck in the kernel, it can be often
impossible to figure out which cpu is stuck where. The
worst case is when the stuck cpu has interrupts disabled.
Therefore, implement a global cpu state capture that uses
SMP message interrupts which are not disabled by the
normal IRQ enable/disable APIs of the kernel.
As long as we can get a sysrq 'y' to the kernel, we can
get a dump. Even if the console interrupt cpu is wedged,
we can trigger it from userspace using /proc/sysrq-trigger
The output is made compact so that this facility is more
useful on high cpu count systems, which is where this
facility will likely find itself the most useful :)
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/sysrq.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/char/sysrq.c b/drivers/char/sysrq.c index 9e9bad8bdcf4..dbce1263bdff 100644 --- a/drivers/char/sysrq.c +++ b/drivers/char/sysrq.c @@ -402,6 +402,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = { &sysrq_showstate_blocked_op, /* w */ /* x: May be registered on ppc/powerpc for xmon */ NULL, /* x */ + /* y: May be registered on sparc64 for global register dump */ NULL, /* y */ NULL /* z */ }; |