== Tested on Power8 == ubuntu@cameron:~$ uname -a Linux cameron 4.10.0-29-generic #33~lp1706141+build.1 SMP Tue Jul 25 19:47:41 UTC 2017 ppc64le ppc64le ppc64le GNU/Linux
ubuntu@cameron:~$ dmesg | grep -i -E "edac|hest|ghes" -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1706141 Title: [ARM64] config EDAC_GHES=y depends on EDAC_MM_EDAC=y Status in linux package in Ubuntu: Incomplete Bug description: [Impact] In configs Zesty and Artful, EDAC_MM_EDAC is set to =m, this disables EDAC_GHES. Customers using RAS on ARM64 may want this functionality. According to RAS expert at QTI. EDAC_GHES is essential for ARMv8.0 Server systems, as it enables firmware-first error handling of memory and CPU errors. Due to a lack of standard RAS architecture (or machine check architecture equivalent) on ARMv8.0 systems, APEI/GHES is the only mechanism available for reporting hardware errors (e.g. memory and CPU errors). This enables reporting of hardware errors, and also helps enable memory fault recovery mechanisms to extend the life of the system by offlining pages when recoverable uncorrected errors are encountered. Note that other ARM vendors will be going in this direction for hardware error handling. [Test] Boot the kernel and check dmesg for the following: $ dmesg | grep -i -E "edac|hest|ghes" [ 0.000000] ACPI: HEST 0x0000000009160000 000288 (v01 QCOM QDF2400 00000001 INTL 20150515) [ 0.620278] HEST: Table parsing has been initialized. [ 4.178298] EDAC MC: Ver: 3.0.0 [ 5.664499] ghes_edac: This EDAC driver relies on BIOS to enumerate memory and get error reports. [ 5.673371] ghes_edac: Unfortunately, not all BIOSes reflect the memory layout correctly. [ 5.681542] ghes_edac: So, the end result of using this driver varies from vendor to vendor. [ 5.689972] ghes_edac: If you find incorrect reports, please contact your hardware vendor [ 5.698142] ghes_edac: to correct its BIOS. [ 5.702320] ghes_edac: This system has 12 DIMM sockets. [ 5.707717] EDAC MC0: Giving out device to module ghes_edac.c controller ghes_edac: DEV ghes (INTERRUPT) [ 5.717264] EDAC MC1: Giving out device to module ghes_edac.c controller ghes_edac: DEV ghes (INTERRUPT) [ 5.726806] EDAC MC2: Giving out device to module ghes_edac.c controller ghes_edac: DEV ghes (INTERRUPT) [ 5.736344] EDAC MC3: Giving out device to module ghes_edac.c controller ghes_edac: DEV ghes (INTERRUPT) [ 5.745883] EDAC MC4: Giving out device to module ghes_edac.c controller ghes_edac: DEV ghes (INTERRUPT) [ 5.755469] GHES: APEI firmware first mode is enabled by APEI bit and WHEA _OSC. [Fix] 1. Apply RAS patch series submitted for SRU in Bug #1696570 2. Set config option EDAC_MM_EDAC=y for ARM64, this will automatically set EDAC_GHES=y 3. Remove edac_core from debian.master/abi/<ver>/arm64/generic.modules [Regression Potential] The config change is limited to ARM64 architecture, and does not impact any other architecture. Potential for regressions is low. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1706141/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp