Commit d896a940 authored by Andi Kleen's avatar Andi Kleen Committed by H. Peter Anvin

x86, mce: remove oops_begin() use in 64bit machine check

First 32bit doesn't have oops_begin, so it's a barrier of using
this code on 32bit.

On closer examination it turns out oops_begin is not
a good idea in a machine check panic anyways. All oops_begin
does it so check for recursive/parallel oopses and implement the
"wait on oops" heuristic. But there's actually no good reason
to lock machine checks against oopses or prevent them
from recursion. Also "wait on oops" does not really make
sense for a machine check too.

Replace it with a manual bust_spinlocks/console_verbose.
Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
Signed-off-by: default avatarHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
parent 8e97aef5
...@@ -178,7 +178,8 @@ static void mce_panic(char *msg, struct mce *backup, u64 start) ...@@ -178,7 +178,8 @@ static void mce_panic(char *msg, struct mce *backup, u64 start)
{ {
int i; int i;
oops_begin(); bust_spinlocks(1);
console_verbose();
for (i = 0; i < MCE_LOG_LEN; i++) { for (i = 0; i < MCE_LOG_LEN; i++) {
u64 tsc = mcelog.entry[i].tsc; u64 tsc = mcelog.entry[i].tsc;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment