mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-27 00:51:35 +00:00
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:
parent
e64edfcce9
commit
011d826111
10 changed files with 706 additions and 83 deletions
|
@ -1,14 +1,25 @@
|
|||
#ifndef __RAS_H__
|
||||
#define __RAS_H__
|
||||
|
||||
#include <asm/errno.h>
|
||||
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
int ras_userspace_consumers(void);
|
||||
void ras_debugfs_init(void);
|
||||
int ras_add_daemon_trace(void);
|
||||
#else
|
||||
static inline int ras_userspace_consumers(void) { return 0; }
|
||||
static inline void ras_debugfs_init(void) { return; }
|
||||
static inline void ras_debugfs_init(void) { }
|
||||
static inline int ras_add_daemon_trace(void) { return 0; }
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_RAS_CEC
|
||||
void __init cec_init(void);
|
||||
int __init parse_cec_param(char *str);
|
||||
int cec_add_elem(u64 pfn);
|
||||
#else
|
||||
static inline void __init cec_init(void) { }
|
||||
static inline int cec_add_elem(u64 pfn) { return -ENODEV; }
|
||||
#endif
|
||||
|
||||
#endif /* __RAS_H__ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue