• Andi Kleen's avatar
    x86, mce: remove TSC print heuristic · a0189c70
    Andi Kleen authored
    Previously mce_panic used a simple heuristic to avoid printing
    old so far unreported machine check events on a mce panic. This worked
    by comparing the TSC value at the start of the machine check handler
    with the event time stamp and only printing newer ones.
    
    This has a couple of issues, in particular on systems where the TSC
    is not fully synchronized between CPUs it could lose events or print
    old ones.
    
    It is also problematic with full system synchronization as it is
    added by the next patch.
    
    Remove the TSC heuristic and instead replace it with a simple heuristic
    to print corrected errors first and after that uncorrected errors
    and finally the worst machine check as determined by the machine
    check handler.
    
    This simplifies the code because there is no need to pass the
    original TSC value around.
    
    Contains fixes from Ying Huang
    
    [ Impact: bug fix, cleanup ]
    Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
    Signed-off-by: default avatarHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
    Cc: Ying Huang <ying.huang@intel.com>
    Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
    a0189c70
mce.c 30.9 KB