mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v3 0/7] CPER: Add Memory Error Section 2 support
@ 2026-11-04 11:03 Pierre Gondois
  2026-11-04 11:03 ` [PATCH v3 1/7] cper: use BIT_ULL() for processor and memory validation bits Pierre Gondois
                   ` (7 more replies)
  0 siblings, 8 replies; 12+ messages in thread
From: Pierre Gondois @ 2026-11-04 11:03 UTC (permalink / raw)
  To: linux-kernel
  Cc: James Morse, Mark Brown, Pierre Gondois, Rafael J. Wysocki,
	Len Brown, Tony Luck, Borislav Petkov, Hanjun Guo,
	Mauro Carvalho Chehab, Shuai Xue, Maciej Wieczor-Retman,
	Pawel Chmielewski, Dave Jiang, Jonathan Cameron,
	Fabio M. De Francesco, Breno Leitao, Terry Bowman, Dan Williams,
	Ard Biesheuvel, Morduan Zang, linux-acpi, linux-edac,
	acpica-devel

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@oss.qualcomm.com/
- Emission of lossy CPER Mem error v1 tracepoints for legacy userspace
  tools
https://lore.kernel.org/lkml/at0rs4parlHFGI7k@hu-ashoraj-lv.qualcomm.com/


RFC: https://lore.kernel.org/all/20260929074659.2587216-1-pierre.gondois@arm.com/#t
V1:  https://lore.kernel.org/all/20261019145643.1877246-1-pierre.gondois@arm.com/
- 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

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2026-11-04 17:52 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-04 11:03 [PATCH v3 0/7] CPER: Add Memory Error Section 2 support Pierre Gondois
2026-11-04 11:03 ` [PATCH v3 1/7] cper: use BIT_ULL() for processor and memory validation bits Pierre Gondois
2026-11-04 16:22   ` Mark Brown
2026-11-04 11:03 ` [PATCH v3 2/7] cper: add Memory Error Section 2 structures Pierre Gondois
2026-11-04 11:03 ` [PATCH v3 3/7] cper: add helpers to handle Memory Error Section 2 Pierre Gondois
2026-11-04 17:25   ` Mark Brown
2026-11-04 11:03 ` [PATCH v3 4/7] EDAC/ghes: Extract error report initialization Pierre Gondois
2026-11-04 11:03 ` [PATCH v3 5/7] ACPI: APEI: Extract common memory failure handling Pierre Gondois
2026-11-04 11:03 ` [PATCH v3 6/7] ACPI: APEI: add separate Memory Error Section 2 handlers Pierre Gondois
2026-11-04 17:51   ` Mark Brown
2026-11-04 11:03 ` [PATCH v3 7/7] ACPI: extlog: add Memory Error Section 2 trace event Pierre Gondois
2026-11-04 11:07 ` [PATCH v3 0/7] CPER: Add Memory Error Section 2 support Pierre Gondois

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®