Conversation

@ljs Why?
I spent some time studying the x86 nmi handler, and at the end of the day, what Linux does seems to be the sanest thing that can be done about it.
@rostedt

2
0
0

@ptesarik @ljs @rostedt the only sane thing to do on NMI is to switch to 40x25 monochrome text CGA mode, print PARITY ERROR and spin forever

1
0
0

@rostedt @ptesarik sorry this was meant to be a lighthearted comment that is being misinterpreted by Petr as a criticism of how that's handled... :)

The situation is pretty insane, in my view (because of the HARDWARE not the software), but maybe I'm wrong.

('The above craziness was the solution for x86_64' the article seems to agree with me, though, FWIW)

I should know better about posting things on the internet without explicit 'I am kidding' bits :) so I deleted it instead, but that's not worked...

1
0
0

@lkundrak @ptesarik @rostedt this is a lot more of the spirit of the original post :)

text is a poor medium unfortunately

0
0
0
@ljs @ptesarik I missed the post and only saw the replies. Could you email me the original if you still have it. I'm curious to what you said. Don't worry, I won't hold it against you 😉
1
0
0

@rostedt @ptesarik just linked the commit saying it's crazy :P nothing more than that

Was interesting to me because I hadn't thought any form of reentry in NMI would be a thing but breakpoints are an exception clearly!

1
0
0
@ljs @ptesarik That code also fixed doing a full stack trace dump of every task (sysrq-t) when an NMI discovered a lock up. Stack traces can fault, which would re-enable NMIs, and because every task's stack trace is being printed to the console in NMI context, another NMI would trigger, corrupting the stack of the first NMI and crash the system before all the stack traces could be printed. This was annoying when trying to debug hard lockups.
1
0
2