[2.4 Patch] Fix to get all sysrq-T output on iSeries virtual console

David Boutcher boutcher at us.ibm.com
Thu Nov 6 13:59:39 EST 2003

owner-linuxppc64-dev at lists.linuxppc.org wrote on 11/03/2003 02:41:51 PM:
> When debugging iSeries problems, I've been frustrated sometimes when I
> find I cannot get all of the sysrq-t output on my console. Usually data
> for only about 5 or 6 tasks prints out and that is it.

Yes, there is a trick where if you type CTRL-X CTRL-X on the console you
can frequently see more output.

> My final idea was to not service sysrq interrupts from within the
> critical area of the interrupt service routine. Instead, I borrowed a
> byte from an unused field within the paca and I cache the requested
> sysrq key there. Then, on the way out of the ISR, this field is checked.
> If it contains a non-zero character, handle_sysrq is called with the
> character to service the request.
> I'm sure this patch is controversial and perhaps too much of a hack, but
> it does get the job done in those critical situations where you
> absolutely need the output of sysrq-t to debug a soft hang.

I think this should be OK...one of the issues this handles is the case
where there are other events (disk ops, etc.) that need to be handled.
Trying to handle the acks inside just the sysreq code would have got you
really messed up.

One issue with the PACA is that it is architected by the underlying system,
so you may get bitten by using an unused byte, either because it gets used
one day, or because there is some undefined use :-)  But you can probably
get away with it.

Dave Boutcher
IBM Linux Technology Center

** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/

More information about the Linuxppc64-dev mailing list