linux/arch
Tony Luck 1f68ce2a02 x86/mce: Handle Intel threshold interrupt storms
Add an Intel specific hook into machine_check_poll() to keep track of
per-CPU, per-bank corrected error logs (with a stub for the
CONFIG_MCE_INTEL=n case).

When a storm is observed the rate of interrupts is reduced by setting
a large threshold value for this bank in IA32_MCi_CTL2. This bank is
added to the bitmap of banks for this CPU to poll. The polling rate is
increased to once per second.

When a storm ends reset the threshold in IA32_MCi_CTL2 back to 1, remove
the bank from the bitmap for polling, and change the polling rate back
to the default.

If a CPU with banks in storm mode is taken offline, the new CPU that
inherits ownership of those banks takes over management of storm(s) in
the inherited bank(s).

The cmci_discover() function was already very large. These changes
pushed it well over the top. Refactor with three helper functions to
bring it back under control.

Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20231115195450.12963-4-tony.luck@intel.com
2023-12-15 14:53:42 +01:00
..
alpha TTY/Serial changes for 6.7-rc1 2023-11-03 15:44:25 -10:00
arc kprobes: unify kprobes_exceptions_nofify() prototypes 2023-11-10 19:59:05 +09:00
arm Probes fixes for v6.7-rc1: 2023-11-10 16:35:04 -08:00
arm64 Probes fixes for v6.7-rc1: 2023-11-10 16:35:04 -08:00
csky Kbuild updates for v6.7 2023-11-04 08:07:19 -10:00
hexagon TTY/Serial changes for 6.7-rc1 2023-11-03 15:44:25 -10:00
loongarch LoongArch changes for v6.7 2023-11-12 10:58:08 -08:00
m68k Many singleton patches against the MM code. The patch series which are 2023-11-02 19:38:47 -10:00
microblaze asm-generic updates for v6.7 2023-11-01 15:28:33 -10:00
mips Probes fixes for v6.7-rc1: 2023-11-10 16:35:04 -08:00
nios2 vgacon, arch/*: remove unused screen_info definitions 2023-10-17 10:17:02 +02:00
openrisc OpenRISC updates for 6.6 2023-09-05 10:09:31 -07:00
parisc parisc: Prevent booting 64-bit kernels on PA1.x machines 2023-11-10 16:17:32 +01:00
powerpc powerpc fixes for 6.7 #2 2023-11-12 10:50:38 -08:00
riscv RISC-V Patches for the 6.7 Merge Window, Part 2 2023-11-10 09:23:17 -08:00
s390 kprobes: unify kprobes_exceptions_nofify() prototypes 2023-11-10 19:59:05 +09:00
sh kprobes: unify kprobes_exceptions_nofify() prototypes 2023-11-10 19:59:05 +09:00
sparc kprobes: unify kprobes_exceptions_nofify() prototypes 2023-11-10 19:59:05 +09:00
um um,ethertap: Replace deprecated strncpy() with strscpy() 2023-09-29 11:37:50 -07:00
x86 x86/mce: Handle Intel threshold interrupt storms 2023-12-15 14:53:42 +01:00
xtensa TTY/Serial changes for 6.7-rc1 2023-11-03 15:44:25 -10:00
.gitignore
Kconfig arch: Remove Itanium (IA-64) architecture 2023-09-11 08:13:17 +00:00