[lkml]   [2008]   [Jul]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH] [8/9] 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.

    So just remove it.

    Replace it with a manual bust_spinlocks/console_verbose.

    Signed-off-by: Andi Kleen <>

    arch/x86/kernel/cpu/mcheck/mce_64.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    Index: linux/arch/x86/kernel/cpu/mcheck/mce_64.c
    --- linux.orig/arch/x86/kernel/cpu/mcheck/mce_64.c
    +++ linux/arch/x86/kernel/cpu/mcheck/mce_64.c
    @@ -133,7 +133,8 @@ static void mce_panic(char *msg, struct
    int i;

    - oops_begin();
    + bust_spinlocks(1);
    + console_verbose();
    for (i = 0; i < MCE_LOG_LEN; i++) {
    u64 tsc = mcelog.entry[i].tsc;

     \ /
      Last update: 2008-07-04 23:25    [W:0.024 / U:32.160 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site