RAS: Add a Corrected Errors Collector
Introduce a simple data structure for collecting correctable errors along with accessors. More detailed description in the code itself. The error decoding is done with the decoding chain now and mce_first_notifier() gets to see the error first and the CEC decides whether to log it and then the rest of the chain doesn't hear about it - basically the main reason for the CE collector - or to continue running the notifiers. When the CEC hits the action threshold, it will try to soft-offine the page containing the ECC and then the whole decoding chain gets to see the error. Signed-off-by: Borislav Petkov <bp@suse.de> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-edac <linux-edac@vger.kernel.org> Link: http://lkml.kernel.org/r/20170327093304.10683-5-bp@alien8.de Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:

committed by
Ingo Molnar

parent
e64edfcce9
commit
011d826111
@@ -191,10 +191,11 @@ extern struct mca_config mca_cfg;
|
||||
extern struct mca_msr_regs msr_ops;
|
||||
|
||||
enum mce_notifier_prios {
|
||||
MCE_PRIO_SRAO = INT_MAX,
|
||||
MCE_PRIO_EXTLOG = INT_MAX - 1,
|
||||
MCE_PRIO_NFIT = INT_MAX - 2,
|
||||
MCE_PRIO_EDAC = INT_MAX - 3,
|
||||
MCE_PRIO_FIRST = INT_MAX,
|
||||
MCE_PRIO_SRAO = INT_MAX - 1,
|
||||
MCE_PRIO_EXTLOG = INT_MAX - 2,
|
||||
MCE_PRIO_NFIT = INT_MAX - 3,
|
||||
MCE_PRIO_EDAC = INT_MAX - 4,
|
||||
MCE_PRIO_LOWEST = 0,
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user