On Tue 2018-12-11 17:07:43, Sergey Senozhatsky wrote: > On (12/10/18 16:57), Petr Mladek wrote: > > > > (masked out) and on panic_cpu disables only SDEI (interrupts from firmware, > > > > if I got it right); so it seems that arm64 can handle IRQs after panic. And > > > > if there are platforms that handle IRQ (including sysrq) after panic, then > > > > both options - making printk a noop or keeping local irqs off - maybe can > > > > cause some problems. Or maybe not. We better ask arch people. > > > > > > Yes, this is very valid concern. And after Petr and you raised it, I did > > > some experiments with 3 x86 platforms at my hand, one Apollolake IOT device > > > with serial console, one IvyBridge laptop and one Kabylake NUC, the magic key > > > all works well before panic, and fails after panic. But I did remember the > > > PageUp/PageDown key worked on some laptop years ago. And you actually raised a > > > good question: what do we expect for the post-panic kernel? > > > > I am not sure why it does not work. But it would be nice if sysrq > > worked. > > Absolutely. > > [..] > > I still think that calming down printk() is acceptable when > > it can be restored from sysrq. > > I would agree; peeking one of the two solutions, printk patch is > probably preferable. > > > I think that only few people might be interested into debugging > > post-panic problems. We could print a warning for them about > > that printk() has got disabled. > > Dunno. This _maybe_ (speculation!) can upset folks on those platforms > that have sysrq working after panic. printk is a common code. > > I'm probably missing a lot of things here, but just in case, I'm not > sure at which point the idea of patching some files under arch/x86 > directory was ruled out and why. I suggested to clear the panic_blinking (or whatever name) in __handle_sysrq(). The idea is that sysrq needs manual intervention. It allows to see the original message before it gets overridden by a potential sysrq-related output. It assumes that sysrq is the only interesting operation when printk() might be useful at this state. Best Regards, Petr