xref: /linux/drivers/ras/Kconfig (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
29b45ef44SBorislav Petkovmenuconfig RAS
39b45ef44SBorislav Petkov	bool "Reliability, Availability and Serviceability (RAS) features"
49b45ef44SBorislav Petkov	help
59b45ef44SBorislav Petkov	  Reliability, availability and serviceability (RAS) is a computer
69b45ef44SBorislav Petkov	  hardware engineering term. Computers designed with higher levels
79b45ef44SBorislav Petkov	  of RAS have a multitude of features that protect data integrity
89b45ef44SBorislav Petkov	  and help them stay available for long periods of time without
99b45ef44SBorislav Petkov	  failure.
109b45ef44SBorislav Petkov
119b45ef44SBorislav Petkov	  Reliability can be defined as the probability that the system will
129b45ef44SBorislav Petkov	  produce correct outputs up to some given time. Reliability is
139b45ef44SBorislav Petkov	  enhanced by features that help to avoid, detect and repair hardware
149b45ef44SBorislav Petkov	  faults.
159b45ef44SBorislav Petkov
169b45ef44SBorislav Petkov	  Availability is the probability a system is operational at a given
179b45ef44SBorislav Petkov	  time, i.e. the amount of time a device is actually operating as the
189b45ef44SBorislav Petkov	  percentage of total time it should be operating.
199b45ef44SBorislav Petkov
209b45ef44SBorislav Petkov	  Serviceability or maintainability is the simplicity and speed with
219b45ef44SBorislav Petkov	  which a system can be repaired or maintained; if the time to repair
229b45ef44SBorislav Petkov	  a failed system increases, then availability will decrease.
239b45ef44SBorislav Petkov
249b45ef44SBorislav Petkov	  Note that Reliability and Availability are distinct concepts:
259b45ef44SBorislav Petkov	  Reliability is a measure of the ability of a system to function
269b45ef44SBorislav Petkov	  correctly, including avoiding data corruption, whereas Availability
279b45ef44SBorislav Petkov	  measures how often it is available for use, even though it may not
289b45ef44SBorislav Petkov	  be functioning correctly. For example, a server may run forever and
299b45ef44SBorislav Petkov	  so have ideal availability, but may be unreliable, with frequent
309b45ef44SBorislav Petkov	  data corruption.
319b45ef44SBorislav Petkov
329b45ef44SBorislav Petkovif RAS
336c36dfe9SBorislav Petkov
34*c8e412f7SThomas Huthconfig RAS_CEC
35*c8e412f7SThomas Huth	bool "Correctable Errors Collector"
36*c8e412f7SThomas Huth	depends on X86_MCE && MEMORY_FAILURE && DEBUG_FS
37*c8e412f7SThomas Huth	help
38*c8e412f7SThomas Huth	  This is a small cache which collects correctable memory errors per 4K
39*c8e412f7SThomas Huth	  page PFN and counts their repeated occurrence. Once the counter for a
40*c8e412f7SThomas Huth	  PFN overflows, we try to soft-offline that page as we take it to mean
41*c8e412f7SThomas Huth	  that it has reached a relatively high error count and would probably
42*c8e412f7SThomas Huth	  be best if we don't use it anymore.
43*c8e412f7SThomas Huth
44*c8e412f7SThomas Huth	  Bear in mind that this is absolutely useless if your platform doesn't
45*c8e412f7SThomas Huth	  have ECC DIMMs and doesn't have DRAM ECC checking enabled in the BIOS.
46*c8e412f7SThomas Huth
47*c8e412f7SThomas Huthconfig RAS_CEC_DEBUG
48*c8e412f7SThomas Huth	bool "CEC debugging machinery"
49*c8e412f7SThomas Huth	default n
50*c8e412f7SThomas Huth	depends on RAS_CEC
51*c8e412f7SThomas Huth	help
52*c8e412f7SThomas Huth	  Add extra files to (debugfs)/ras/cec to test the correctable error
53*c8e412f7SThomas Huth	  collector feature. "pfn" is a writable file that allows user to
54*c8e412f7SThomas Huth	  simulate an error in a particular page frame. "array" is a read-only
55*c8e412f7SThomas Huth	  file that dumps out the current state of all pages logged so far.
56*c8e412f7SThomas Huth
573f317499SYazen Ghannamsource "drivers/ras/amd/atl/Kconfig"
586c36dfe9SBorislav Petkov
596f15e617SYazen Ghannamconfig RAS_FMPM
606f15e617SYazen Ghannam	tristate "FRU Memory Poison Manager"
616f15e617SYazen Ghannam	default m
626f15e617SYazen Ghannam	depends on AMD_ATL && ACPI_APEI
636f15e617SYazen Ghannam	help
646f15e617SYazen Ghannam	  Support saving and restoring memory error information across reboot
656f15e617SYazen Ghannam	  using ACPI ERST as persistent storage. Error information is saved with
666f15e617SYazen Ghannam	  the UEFI CPER "FRU Memory Poison" section format.
676f15e617SYazen Ghannam
686f15e617SYazen Ghannam	  Memory will be retired during boot time and run time depending on
696f15e617SYazen Ghannam	  platform-specific policies.
706f15e617SYazen Ghannam
719b45ef44SBorislav Petkovendif
72