1*7f1b8e0dSBorislav PetkovWhat: /sys/devices/system/machinecheck/machinecheckX/tolerant 2*7f1b8e0dSBorislav PetkovContact: Borislav Petkov <bp@suse.de> 3*7f1b8e0dSBorislav PetkovDate: Dec, 2021 4*7f1b8e0dSBorislav PetkovDescription: 5*7f1b8e0dSBorislav Petkov Unused and obsolete after the advent of recoverable machine 6*7f1b8e0dSBorislav Petkov checks (see last sentence below) and those are present since 7*7f1b8e0dSBorislav Petkov 2010 (Nehalem). 8*7f1b8e0dSBorislav Petkov 9*7f1b8e0dSBorislav Petkov Original description: 10*7f1b8e0dSBorislav Petkov 11*7f1b8e0dSBorislav Petkov The entries appear for each CPU, but they are truly shared 12*7f1b8e0dSBorislav Petkov between all CPUs. 13*7f1b8e0dSBorislav Petkov 14*7f1b8e0dSBorislav Petkov Tolerance level. When a machine check exception occurs for a 15*7f1b8e0dSBorislav Petkov non corrected machine check the kernel can take different 16*7f1b8e0dSBorislav Petkov actions. 17*7f1b8e0dSBorislav Petkov 18*7f1b8e0dSBorislav Petkov Since machine check exceptions can happen any time it is 19*7f1b8e0dSBorislav Petkov sometimes risky for the kernel to kill a process because it 20*7f1b8e0dSBorislav Petkov defies normal kernel locking rules. The tolerance level 21*7f1b8e0dSBorislav Petkov configures how hard the kernel tries to recover even at some 22*7f1b8e0dSBorislav Petkov risk of deadlock. Higher tolerant values trade potentially 23*7f1b8e0dSBorislav Petkov better uptime with the risk of a crash or even corruption 24*7f1b8e0dSBorislav Petkov (for tolerant >= 3). 25*7f1b8e0dSBorislav Petkov 26*7f1b8e0dSBorislav Petkov == =========================================================== 27*7f1b8e0dSBorislav Petkov 0 always panic on uncorrected errors, log corrected errors 28*7f1b8e0dSBorislav Petkov 1 panic or SIGBUS on uncorrected errors, log corrected errors 29*7f1b8e0dSBorislav Petkov 2 SIGBUS or log uncorrected errors, log corrected errors 30*7f1b8e0dSBorislav Petkov 3 never panic or SIGBUS, log all errors (for testing only) 31*7f1b8e0dSBorislav Petkov == =========================================================== 32*7f1b8e0dSBorislav Petkov 33*7f1b8e0dSBorislav Petkov Default: 1 34*7f1b8e0dSBorislav Petkov 35*7f1b8e0dSBorislav Petkov Note this only makes a difference if the CPU allows recovery 36*7f1b8e0dSBorislav Petkov from a machine check exception. Current x86 CPUs generally 37*7f1b8e0dSBorislav Petkov do not. 38