[PATCH v3 0/7] CPER: Add Memory Error Section 2 support
From: Pierre Gondois
Date: Wed Nov 04 2026 - 06:08:21 EST
The support is mostly duplicated from Memory Error Section handling.
Other than differences coming from the content of Memory Error
Section 1 and 2, differences in the support are:
- v2 do not rely on a compact "struct cper_mem_err_compact" struct.
This structure was used to support older versions of the Memory
Error Section (1). This is not needed for the new structure.
- The compact version is also used by the tracing framework.
To avoid relying and propagating a non-standard record format,
through trace event (cf. extlog_mem event) the new trace event
prints each field individually.
The last patch of the serie was only build-tested due to the
absence of relevant hardware. apei_mce_report_mem_error() and
arch_apei_report_mem_error() implementations were also removed since
last version.
It will also require a proper handling from the rasdaemon. Applying
this last patch without rasdaemon support will silent the reports of
Memory Error Section 2 error, cf. ras_userspace_consumers() check.
Future:
- _OSC support
- Addition of arm64 tracepoints
https://lore.kernel.org/lkml/20261023170405.000060b8@xxxxxxxxxxxxxxxx/
- Emission of lossy CPER Mem error v1 tracepoints for legacy userspace
tools
https://lore.kernel.org/lkml/at0rs4parlHFGI7k@xxxxxxxxxxxxxxxxxxxxxxxxxx/
RFC: https://lore.kernel.org/all/20260929074659.2587216-1-pierre.gondois@xxxxxxx/#t
V1: https://lore.kernel.org/all/20261019145643.1877246-1-pierre.gondois@xxxxxxx/
- Corrections from Jonathan's review
- New patch:
[PATCH v2 4/6] EDAC/ghes: Extract error report initialization
- Last patch not in RFC as it has been reviewed by Jonathan@
[PATCH v2 6/6] ACPI: extlog: add Memory Error Section 2 trace event
V2:
- Updated ghes_edac_init_error() to ghes_edac_init_error_desc(),
which now only acts on the input "struct edac_raw_error_desc"
+ added lockdep_assert_held() to ghes_edac_init_error_desc()
- Accumulate failures with "queued |=" in ghes_do_proc()
- New PATCH:
[PATCH v3 5/7] ACPI: APEI: Extract common memory failure handling
Pierre Gondois (7):
cper: use BIT_ULL() for processor and memory validation bits
cper: add Memory Error Section 2 structures
cper: add helpers to handle Memory Error Section 2
EDAC/ghes: Extract error report initialization
ACPI: APEI: Extract common memory failure handling
ACPI: APEI: add separate Memory Error Section 2 handlers
ACPI: extlog: add Memory Error Section 2 trace event
drivers/acpi/acpi_extlog.c | 6 ++
drivers/acpi/apei/ghes.c | 58 +++++++++--
drivers/edac/ghes_edac.c | 189 +++++++++++++++++++++++++++++-------
drivers/firmware/efi/cper.c | 109 +++++++++++++++++++++
drivers/ras/ras.c | 1 +
include/acpi/ghes.h | 2 +
include/linux/cper.h | 129 +++++++++++++++++-------
include/ras/ras_event.h | 102 +++++++++++++++++++
8 files changed, 518 insertions(+), 78 deletions(-)
--
2.43.0