• Yazen Ghannam's avatar
    x86/MCE: Make the number of MCA banks a per-CPU variable · c7d314f3
    Yazen Ghannam authored
    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
    
      006c0770 ("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: default avatarYazen Ghannam <yazen.ghannam@amd.com>
    Signed-off-by: default avatarBorislav 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
    c7d314f3
amd.c 36.4 KB