lkml.org 
[lkml]   [2023]   [Apr]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v4 2/5] x86/mce: Add per-bank CMCI storm mitigation
    On Mon, Apr 03, 2023 at 02:07:13PM -0700, Tony Luck wrote:
    > Add a hook into machine_check_poll() to keep track of per-CPU, per-bank
    > corrected error logs.
    >
    > Maintain a bitmap history for each bank showing whether the bank
    > logged an corrected error or not each time it is polled.
    >
    > In normal operation the interval between polls of this banks
    > determines how far to shift the history. The 64 bit width corresponds
    > to about one second.
    >
    > 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.
    > During a storm each bit in the history indicates the status of the
    > bank each time it is polled. Thus the history covers just over a minute.
    >
    > Declare a storm for that bank if the number of corrected interrupts
    > seen in that history is above some threshold (5 in this RFC code for
    > ease of testing, likely move to 15 for compatibility with previous
    > storm detection).
    >
    > A storm on a bank ends if enough consecutive polls of the bank show
    > no corrected errors (currently 30, may also change). That resets the
    > threshold in IA32_MCi_CTL2 back to 1, removes the bank from the bitmap
    > for polling, and changes 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).
    >
    > Signed-off-by: Tony Luck <tony.luck@intel.com>
    > Reviewed-by: Yazen Ghannam <yazen.ghannam@amd.com>
    > Tested-by: Yazen Ghannam <yazen.ghannam@amd.com>
    > ---
    > arch/x86/kernel/cpu/mce/internal.h | 4 +-
    > arch/x86/kernel/cpu/mce/core.c | 26 ++++--
    > arch/x86/kernel/cpu/mce/intel.c | 139 ++++++++++++++++++++++++++++-
    > 3 files changed, 158 insertions(+), 11 deletions(-)

    ld: vmlinux.o: in function `machine_check_poll':
    /home/boris/kernel/2nd/linux/arch/x86/kernel/cpu/mce/core.c:683: undefined reference to `track_cmci_storm'
    make[1]: *** [scripts/Makefile.vmlinux:35: vmlinux] Error 1
    make: *** [Makefile:1249: vmlinux] Error 2
    make: *** Waiting for unfinished jobs....

    --
    Regards/Gruss,
    Boris.

    https://people.kernel.org/tglx/notes-about-netiquette

    \
     
     \ /
      Last update: 2023-04-11 14:33    [W:4.038 / U:0.088 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site