Re: [PATCH][RT] x86: Fix an RT MCE crash
From: Corey Minyard <hidden>
Date: 2016-06-30 17:54:17
On 06/30/2016 12:26 PM, Borislav Petkov wrote:
On Thu, Jun 30, 2016 at 12:18:01PM -0500, Corey Minyard wrote:quoted
This is on 3.10-rt with PREEMPT_RT enabled. It appears that from 3.18-rt and later it has code like the change I have proposed, so it does not crash. I could add a something to see if the interrupt is coming in early to 4.6-rt, is that what you are looking for?Actually, I'd like to know first whether the unpatched upstream kernel - not -rt - is crashing.
It won't crash. If you disable PREEMPT_RT on the 3.10-rt kernel it won't crash (which I have tested). With PREEMPT_RT, the kernel creates a separate thread that is woken on mce notifications. The trouble is that the interrupts are initialized before the thread is created.
And then 4.6-rt. Because from looking at your splat, you're getting a thresholding interrupt the moment you enable the local APIC and from staring at the MCE code upstream, I think we should be prepared for that scenario. AFAICT, both -rt and upstream should handle that case just fine and I'm guessing upstream was fixed at some point and -rt grew another fix which is probably not needed and it should take the upstream one instead...
This is not a bug in mainline. This is only an RT bug, and only with PREEMPT_RT enabled. I can try these things if you really want, but it doesn't seem like a useful activity to me. It looks like in 3.18-rt someone noticed this issue and fixed it, but the fix wasn't backported to earlier kernels. I'm really just trying to get that fix backported. -corey