lkml.org 
[lkml]   [2020]   [Feb]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[RFC PATCH 0/5] New way to track mce notifier chain actions
    Date
    This is just a skeleton of how it might look. Several issues
    arose while looking at this ... not all directly related to
    the problem at hand.

    Parts 1 & 2 are just cleanup. CEC should follow the same rules
    as everyone else who wants to be on the mce notifier chain. No
    real reason for it to have direct hooks into mce/core.c

    Part 3 adds a field to struct mce, and defines the BIT fields
    for each class of notifier. All EDAC drivers share the same BIT
    since only one of them should be active.

    Part 4 is where things are interesting and need a great deal more
    thought. A bunch of things on the chain return NOTIFY_STOP which
    prevents anything else on the chain from being run. For the moment
    I ignored that semantic and added code everywhere to set the BIT
    even though nobody else will see it. This is because I think at
    least some of them should NOT be NOTIFY_STOP.

    Part 5 is currently written to always call __print_mce() for
    debugging. The "if (1 || ...)" obviously doesn't want the "1"
    (though I'd like to add some /sys knob to flip a switch to force
    printing for systems where something weird is happening and logs
    are being lost).

    Tony Luck (5):
    x86/mce: Rename "first" function as "early"
    x86/mce: Convert corrected error collector to use mce notifier
    x86/mce: Add new "handled" field to "struct mce"
    x86/mce: Fix all mce notifiers to update the mce->handled bitmask
    x86/mce: Change default mce logger to check mce->handled

    arch/x86/include/asm/mce.h | 15 ++++----
    arch/x86/include/uapi/asm/mce.h | 9 +++++
    arch/x86/kernel/cpu/mce/core.c | 53 +++++++---------------------
    arch/x86/kernel/cpu/mce/dev-mcelog.c | 1 +
    drivers/acpi/acpi_extlog.c | 1 +
    drivers/acpi/nfit/mce.c | 1 +
    drivers/edac/i7core_edac.c | 1 +
    drivers/edac/mce_amd.c | 5 ++-
    drivers/edac/pnd2_edac.c | 1 +
    drivers/edac/sb_edac.c | 1 +
    drivers/edac/skx_common.c | 1 +
    drivers/ras/cec.c | 29 +++++++++++++++
    12 files changed, 69 insertions(+), 49 deletions(-)

    --
    2.21.1

    \
     
     \ /
      Last update: 2020-02-12 21:47    [W:9.055 / U:0.208 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site