commit | a1d42027be51ac94b1b14b59f05797287e57d5b4 | [log] [tgz] |
---|---|---|
author | Will Liang <will.liang@quantatw.com> | Thu Jun 13 14:17:12 2019 +0800 |
committer | SpencerKu <Spencer.Ku@quantatw.com> | Thu Aug 06 16:11:39 2020 +0800 |
tree | d0ccb780203e3b627f2df605dea0396580b97aa2 | |
parent | eb5a1d725b83c073235acea4d3d905f22ad1257c [diff] |
Add ECC metadata This change adds a ECC service that handles memory error and to add new IPMI SEL records to the journal with the correct metadata. Tested: CE Error: 1. Triger memory ce error: devmem 0xf0824178 32 0x7501 2. ipmi sel list should log ce error: 1 | Pre-Init |0000015435| Memory #0xf0 | Correctable ECC | Asserted UE Error: 1. Triger memory ue error: devmem 0xf0824178 32 0x301 2.ipmi sel list should log ue error: 2 | Pre-Init |0000001677| Memory #0xf0 | Uncorrectable ECC | Asserted Change-Id: Ia63a62c2e80697639fef4c4e114fee52f65c71af Signed-off-by: Will Liang <will.liang@quantatw.com>
This function is to provide the BMC with the ability to record ECC error SELs. The EDAC driver of BMC can detects and corrects memory errors, which helps identify problems before they become catastrophic faulty memory module.
phosphor-sel-logger
package must be installedRun the application and look up the ECC error count every second after service is started. On first start, it resets all correctable ECC counts and uncorrectable ECC counts in the EDAC driver.
it also provide the following path on D-Bus:
xyz.openbmc_project.Memory.ECC
/xyz/openbmc_project/metrics/memory/BmcECC
xyz.openbmc_project.Memory.MemoryECC
The interface with the following properties:
Property | Type | Description |
---|---|---|
isLoggingLimitReached | bool | ECC logging reach limits |
ceCount | int64 | correctable ECC events |
ueCount | int64 | uncorrectable ECC events |
state | string | bmc ECC event state |
It also devised a mechanism to limit the "maximum number" of logs to avoid creating a large number of correctable ECC logs. When the maximum quantity
is reached, the ECC service will stop to record the ECC log. The maximum quantity
(default:100) is saved in the configuration file, and the user can modify the value if necessary.
Use the phosphor-sel-logger
package to record the following logs in BMC SEL format.
ce_count
from EDAC driver parameter and the count exceeds previous count.ue_count
from EDAC driver parameter and the count exceeds previous count.maximum quantity
.