• Andi Kleen's avatar
    x86, mce: remove machine check handler idle notify on 64bit · 8e97aef5
    Andi Kleen authored
    i386 has no idle notifiers, but the 64bit machine check
    code uses them to wake up mcelog from a fatal machine check
    exception.
    
    For corrected machine checks found by the poller or
    threshold interrupts going through an idle notifier is not needed
    because the wake_up can is just done directly and doesn't
    need the idle notifier. It is only needed for logging
    exceptions.
    
    To be honest I never liked the idle notifier even though I signed
    off on it. On closer investigation the code actually turned out
    to be nearly. Right now machine check exceptions on x86 are always
    unrecoverable (lead to panic due to PCC), which means we never execute
    the idle notifier path.
    
    The only exception is the somewhat weird tolerant==3 case, which
    ignores PCC. I'll fix this in a future patch in a much cleaner way.
    
    So remove the "mcelog wakeup through idle notifier" code
    from 64bit.
    
    This allows to compile the 64bit machine check handler on 32bit
    which doesn't have idle notifiers.
    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>
    8e97aef5
mce.c 28.8 KB