linux/arch
Yazen Ghannam c7d314f386 x86/MCE: Make the number of MCA banks a per-CPU variable
The number of MCA banks is provided per logical CPU. Historically, this
number has been the same across all CPUs, but this is not an
architectural guarantee. Future AMD systems may have MCA bank counts
that vary between logical CPUs in a system.

This issue was partially addressed in

  006c077041 ("x86/mce: Handle varying MCA bank counts")

by allocating structures using the maximum number of MCA banks and by
saving the maximum MCA bank count in a system as the global count. This
means that some extra structures are allocated. Also, this means that
CPUs will spend more time in the #MC and other handlers checking extra
MCA banks.

Thus, define the number of MCA banks as a per-CPU variable.

 [ bp: Make mce_num_banks an unsigned int. ]

Signed-off-by: Yazen Ghannam <yazen.ghannam@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "linux-edac@vger.kernel.org" <linux-edac@vger.kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tony Luck <tony.luck@intel.com>
Cc: "x86@kernel.org" <x86@kernel.org>
Link: https://lkml.kernel.org/r/20190607201752.221446-5-Yazen.Ghannam@amd.com
2019-06-11 15:23:09 +02:00
..
alpha treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
arc treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
arm SPDX fixes for 5.2-rc3, round 2 2019-06-02 10:22:38 -07:00
arm64 SPDX update for 5.2-rc3, round 1 2019-05-31 08:34:32 -07:00
c6x treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
csky treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
h8300 treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
hexagon treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
ia64 SPDX update for 5.2-rc3, round 1 2019-05-31 08:34:32 -07:00
m68k treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
microblaze treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
mips Fixes for PPC and s390. 2019-06-02 10:19:39 -07:00
nds32 treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
nios2 treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
openrisc treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
parisc arch/parisc/configs/c8000_defconfig: remove obsoleted CONFIG_DEBUG_SLAB_LEAK 2019-06-01 15:51:31 -07:00
powerpc powerpc fixes for 5.2 #3 2019-06-02 10:21:04 -07:00
riscv treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
s390 Fixes for PPC and s390. 2019-06-02 10:19:39 -07:00
sh treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 211 2019-05-30 11:29:53 -07:00
sparc treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
um treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
unicore32 treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
x86 x86/MCE: Make the number of MCA banks a per-CPU variable 2019-06-11 15:23:09 +02:00
xtensa treewide: Add SPDX license identifier - Kbuild 2019-05-30 11:32:33 -07:00
.gitignore
Kconfig Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-05-16 11:00:20 -07:00