Re: [PATCH RFC] sysrq: rcu-ify __handle_sysrq

Andrew Morton
2014-04-23T21:49:39Z

On Wed, 23 Apr 2014 23:44:47 +0200 (CEST) Jiri Kosina <jkosina@suse.cz> wrote:

> On Wed, 23 Apr 2014, Andrew Morton wrote:
>
> > > > > Echoing values into /proc/sysrq-trigger seems to be a popular way to
> > > > > get information out of the kernel. However, dumping information about
> > > > > thousands of processes, or hundreds of CPUs to serial console can
> > > > > result in IRQs being blocked for minutes, resulting in various kinds
> > > > > of cascade failures.
> > > > >
> > > > > The most common failure is due to interrupts being blocked for a very
> > > > > long time. This can lead to things like failed IO requests, and other
> > > > > things the system cannot easily recover from.
> > > >
> > > > I bet nobody wants that console output anyway. You do the sysrq then
> > > > run dmesg or look in /var/log/messages to see what happened. People
> > > > who are experiencing problems such as this should run `dmesg -n 1'
> > > > before writing to sysrq-trigger.
> > >
> > > I don't agree. I have used sysrq-t multiple times in situations where
> > > userspace was already dead, but sysrq was still able to provide valuable
> > > information about the state of the kernel.
> > >
> >
> > I'm talking about /proc/sysrq-trigger, not the magic key combo.
>
> At the end of the day, that reaches the same __handle_sysrq() codepath,
> no?

What I'm proposing is that we provide a way in which console output may be
suppressed during /proc/sysrq-trigger writes. I'm not suggesting that the
implementation be buggy ;)

But clueful people can run `dmesg -1' beforehand, so I wonder if the
patch really has much value?