[RFC PATCH 0/5] Handle corrected machine check interrupt storms

From: Smita Koralahalli
Date: Wed Apr 06 2022 - 06:07:10 EST


Extend the logic of handling Intel's corrected machine check interrupt
storms to AMD's threshold interrupts.

First two patches are from Tony which cleans up the existing storm
handling for Intel and proposes per CPU per bank storm handling.

Third and fourth patches do some cleanup and refactoring on the CMCI
storm handling in order to extend similar workaround for AMD's threshold
interrupt storms. These two patches could be merged into Tony's second
patch of CMCI storm mitigation.

AMD's storm mitigation for threshold interrupts also relies on per CPU
per bank approach similar to Intel. But unlike CMCI storm handling it does
not set thresholds to reduce rate of interrupts on a storm. Rather it
turns off the interrupt on the current CPU and bank if there is a storm
and re-enables back the interrupts when the storm subsides.

It is okay to turn off threshold interrupts on AMD systems as other error
severities continue to be handled even if the threshold interrupts are
turned off. Uncorrected errors will generate a #MC and deferred errors
have a unique separate deferred error interrupt. The final patch adds
support for handling threshold interrupt storms on AMD systems.

Smita Koralahalli (3):
x86/mce: Introduce a function pointer mce_handle_storm
x86/mce: Move storm handling to core.
x86/mce: Handle AMD threshold interrupt storms

Tony Luck (2):
x86/mce: Remove old CMCI storm mitigation code
x86/mce: Add per-bank CMCI storm mitigation

arch/x86/kernel/cpu/mce/amd.c | 49 ++++++++
arch/x86/kernel/cpu/mce/core.c | 129 +++++++++++++++++----
arch/x86/kernel/cpu/mce/intel.c | 179 +++++++----------------------
arch/x86/kernel/cpu/mce/internal.h | 42 +++++--
4 files changed, 231 insertions(+), 168 deletions(-)

--
2.17.1