mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-10-31 14:23:49 +01:00
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 <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: linux-edac <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Ingo Molnar <[email protected]>
26 lines
620 B
C
26 lines
620 B
C
#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) { }
|
|
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__ */
|