| 1 | # SPDX-License-Identifier: GPL-2.0-only |
| 2 | menuconfig RAS |
| 3 | bool "Reliability, Availability and Serviceability (RAS) features" |
| 4 | help |
| 5 | Reliability, availability and serviceability (RAS) is a computer |
| 6 | hardware engineering term. Computers designed with higher levels |
| 7 | of RAS have a multitude of features that protect data integrity |
| 8 | and help them stay available for long periods of time without |
| 9 | failure. |
| 10 | |
| 11 | Reliability can be defined as the probability that the system will |
| 12 | produce correct outputs up to some given time. Reliability is |
| 13 | enhanced by features that help to avoid, detect and repair hardware |
| 14 | faults. |
| 15 | |
| 16 | Availability is the probability a system is operational at a given |
| 17 | time, i.e. the amount of time a device is actually operating as the |
| 18 | percentage of total time it should be operating. |
| 19 | |
| 20 | Serviceability or maintainability is the simplicity and speed with |
| 21 | which a system can be repaired or maintained; if the time to repair |
| 22 | a failed system increases, then availability will decrease. |
| 23 | |
| 24 | Note that Reliability and Availability are distinct concepts: |
| 25 | Reliability is a measure of the ability of a system to function |
| 26 | correctly, including avoiding data corruption, whereas Availability |
| 27 | measures how often it is available for use, even though it may not |
| 28 | be functioning correctly. For example, a server may run forever and |
| 29 | so have ideal availability, but may be unreliable, with frequent |
| 30 | data corruption. |
| 31 | |
| 32 | if RAS |
| 33 | |
| 34 | config RAS_CEC |
| 35 | bool "Correctable Errors Collector" |
| 36 | depends on X86_MCE && MEMORY_FAILURE && DEBUG_FS |
| 37 | help |
| 38 | This is a small cache which collects correctable memory errors per 4K |
| 39 | page PFN and counts their repeated occurrence. Once the counter for a |
| 40 | PFN overflows, we try to soft-offline that page as we take it to mean |
| 41 | that it has reached a relatively high error count and would probably |
| 42 | be best if we don't use it anymore. |
| 43 | |
| 44 | Bear in mind that this is absolutely useless if your platform doesn't |
| 45 | have ECC DIMMs and doesn't have DRAM ECC checking enabled in the BIOS. |
| 46 | |
| 47 | config RAS_CEC_DEBUG |
| 48 | bool "CEC debugging machinery" |
| 49 | default n |
| 50 | depends on RAS_CEC |
| 51 | help |
| 52 | Add extra files to (debugfs)/ras/cec to test the correctable error |
| 53 | collector feature. "pfn" is a writable file that allows user to |
| 54 | simulate an error in a particular page frame. "array" is a read-only |
| 55 | file that dumps out the current state of all pages logged so far. |
| 56 | |
| 57 | source "drivers/ras/amd/atl/Kconfig" |
| 58 | |
| 59 | config RAS_FMPM |
| 60 | tristate "FRU Memory Poison Manager" |
| 61 | default m |
| 62 | depends on AMD_ATL && ACPI_APEI |
| 63 | help |
| 64 | Support saving and restoring memory error information across reboot |
| 65 | using ACPI ERST as persistent storage. Error information is saved with |
| 66 | the UEFI CPER "FRU Memory Poison" section format. |
| 67 | |
| 68 | Memory will be retired during boot time and run time depending on |
| 69 | platform-specific policies. |
| 70 | |
| 71 | endif |