All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.