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