* [PATCH v2] x86: Fix an RT MCE crash
@ 2016-07-06 18:55 minyard
2016-07-06 20:30 ` Corey Minyard
2016-07-11 17:34 ` Steven Rostedt
0 siblings, 2 replies; 4+ messages in thread
From: minyard @ 2016-07-06 18:55 UTC (permalink / raw)
To: minyard, Borislav Petkov, Luck, Tony, linux-rt-users,
Steven Rostedt, Sebastian Andrzej Siewior
Cc: Corey Minyard
From: Corey Minyard <cminyard@mvista.com>
On some x86 systems an MCE interrupt would come in before the kernel
was ready for it. Looking at the latest RT code, it has similar
(but not quite the same) code, except it adds a bool that tells if
MCE handling is initialized. That was required because they had
switched to use swork instead of a kernel thread. Here, just
checking to see if the thread is NULL is good enough to see if
MCE handling is initialized.
Signed-off-by: Corey Minyard <cminyard@mvista.com>
---
arch/x86/kernel/cpu/mcheck/mce.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
index aaf4b9b..cc70d98 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -1391,7 +1391,8 @@ static int mce_notify_work_init(void)
static void mce_notify_work(void)
{
- wake_up_process(mce_notify_helper);
+ if (mce_notify_helper)
+ wake_up_process(mce_notify_helper);
}
#else
static void mce_notify_work(void)
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2] x86: Fix an RT MCE crash
2016-07-06 18:55 [PATCH v2] x86: Fix an RT MCE crash minyard
@ 2016-07-06 20:30 ` Corey Minyard
2016-07-11 17:34 ` Steven Rostedt
1 sibling, 0 replies; 4+ messages in thread
From: Corey Minyard @ 2016-07-06 20:30 UTC (permalink / raw)
To: Borislav Petkov, Luck, Tony, linux-rt-users, Steven Rostedt,
Sebastian Andrzej Siewior
Cc: Corey Minyard
I forgot to mention that this applies to v3.2-rt, v3.4-rt,
v3.10-rt, v3.12-rt, and v3.14-rt. I didn't see a v3.16-rt.
-corey
On 07/06/2016 01:55 PM, minyard@acm.org wrote:
> From: Corey Minyard <cminyard@mvista.com>
>
> On some x86 systems an MCE interrupt would come in before the kernel
> was ready for it. Looking at the latest RT code, it has similar
> (but not quite the same) code, except it adds a bool that tells if
> MCE handling is initialized. That was required because they had
> switched to use swork instead of a kernel thread. Here, just
> checking to see if the thread is NULL is good enough to see if
> MCE handling is initialized.
>
> Signed-off-by: Corey Minyard <cminyard@mvista.com>
> ---
> arch/x86/kernel/cpu/mcheck/mce.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
> index aaf4b9b..cc70d98 100644
> --- a/arch/x86/kernel/cpu/mcheck/mce.c
> +++ b/arch/x86/kernel/cpu/mcheck/mce.c
> @@ -1391,7 +1391,8 @@ static int mce_notify_work_init(void)
>
> static void mce_notify_work(void)
> {
> - wake_up_process(mce_notify_helper);
> + if (mce_notify_helper)
> + wake_up_process(mce_notify_helper);
> }
> #else
> static void mce_notify_work(void)
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] x86: Fix an RT MCE crash
2016-07-06 18:55 [PATCH v2] x86: Fix an RT MCE crash minyard
2016-07-06 20:30 ` Corey Minyard
@ 2016-07-11 17:34 ` Steven Rostedt
2016-07-11 18:12 ` Corey Minyard
1 sibling, 1 reply; 4+ messages in thread
From: Steven Rostedt @ 2016-07-11 17:34 UTC (permalink / raw)
To: minyard
Cc: Borislav Petkov, Luck, Tony, linux-rt-users,
Sebastian Andrzej Siewior, Corey Minyard
On Wed, 6 Jul 2016 13:55:01 -0500
minyard@acm.org wrote:
> From: Corey Minyard <cminyard@mvista.com>
>
> On some x86 systems an MCE interrupt would come in before the kernel
> was ready for it. Looking at the latest RT code, it has similar
> (but not quite the same) code, except it adds a bool that tells if
> MCE handling is initialized. That was required because they had
> switched to use swork instead of a kernel thread. Here, just
> checking to see if the thread is NULL is good enough to see if
> MCE handling is initialized.
>
> Signed-off-by: Corey Minyard <cminyard@mvista.com>
> ---
> arch/x86/kernel/cpu/mcheck/mce.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
> index aaf4b9b..cc70d98 100644
> --- a/arch/x86/kernel/cpu/mcheck/mce.c
> +++ b/arch/x86/kernel/cpu/mcheck/mce.c
> @@ -1391,7 +1391,8 @@ static int mce_notify_work_init(void)
>
> static void mce_notify_work(void)
> {
> - wake_up_process(mce_notify_helper);
> + if (mce_notify_helper)
> + wake_up_process(mce_notify_helper);
> }
> #else
> static void mce_notify_work(void)
Wait, is this all that's needed?
Also, Boris should be credited here somewhere.
-- Steve
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] x86: Fix an RT MCE crash
2016-07-11 17:34 ` Steven Rostedt
@ 2016-07-11 18:12 ` Corey Minyard
0 siblings, 0 replies; 4+ messages in thread
From: Corey Minyard @ 2016-07-11 18:12 UTC (permalink / raw)
To: Steven Rostedt, minyard
Cc: Borislav Petkov, Luck, Tony, linux-rt-users, Sebastian Andrzej Siewior
On 07/11/2016 12:34 PM, Steven Rostedt wrote:
> On Wed, 6 Jul 2016 13:55:01 -0500
> minyard@acm.org wrote:
>
>> From: Corey Minyard <cminyard@mvista.com>
>>
>> On some x86 systems an MCE interrupt would come in before the kernel
>> was ready for it. Looking at the latest RT code, it has similar
>> (but not quite the same) code, except it adds a bool that tells if
>> MCE handling is initialized. That was required because they had
>> switched to use swork instead of a kernel thread. Here, just
>> checking to see if the thread is NULL is good enough to see if
>> MCE handling is initialized.
>>
>> Signed-off-by: Corey Minyard <cminyard@mvista.com>
>> ---
>> arch/x86/kernel/cpu/mcheck/mce.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
>> index aaf4b9b..cc70d98 100644
>> --- a/arch/x86/kernel/cpu/mcheck/mce.c
>> +++ b/arch/x86/kernel/cpu/mcheck/mce.c
>> @@ -1391,7 +1391,8 @@ static int mce_notify_work_init(void)
>>
>> static void mce_notify_work(void)
>> {
>> - wake_up_process(mce_notify_helper);
>> + if (mce_notify_helper)
>> + wake_up_process(mce_notify_helper);
>> }
>> #else
>> static void mce_notify_work(void)
>
> Wait, is this all that's needed?
Yes, that's it.
> Also, Boris should be credited here somewhere.
Indeed, he should. I'll issue V3.
-corey
> -- Steve
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-07-11 18:12 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-06 18:55 [PATCH v2] x86: Fix an RT MCE crash minyard
2016-07-06 20:30 ` Corey Minyard
2016-07-11 17:34 ` Steven Rostedt
2016-07-11 18:12 ` Corey Minyard
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.