[v8,0/6] CXL Poison List Retrieval & Tracing

Message ID cover.1678468593.git.alison.schofield@intel.com
Headers
Series CXL Poison List Retrieval & Tracing |

Message

Alison Schofield March 10, 2023, 5:54 p.m. UTC
  From: Alison Schofield <alison.schofield@intel.com>

Changes in v8:

Patch 4: cxl/region: Provide region info to the cxl_poison trace event
- Don't percolate non-error rc in trigger_poison_list_store() (Jonathan)
- Use the entire dpa_res, not pmem_res, when calculating remaining length
  after a PMEM decoder. (Jonathan)
- Calculate skip relative to current endpoint. (Jonathan)
- Always use local vars for offset & length (Tidy-up)

Patch 3: cxl/memdev: Add trigger_poison_list sysfs attribute
- Update dates and version in Patch 3: ABI doc (Jonathan)
- Added Jonathan Reviewed-by to Patch 3 (Jonathan)

Link to v7: https://lore.kernel.org/linux-cxl/cover.1676685180.git.alison.schofield@intel.com/#r

Add support for retrieving device poison lists and store the returned
error records as kernel trace events.

The handling of the poison list is guided by the CXL 3.0 Specification
Section 8.2.9.8.4.1. [1] 

Example:
$ echo 1 > /sys/bus/cxl/devices/mem0/trigger_poison_list
cxl_poison: memdev=mem0 host=cxl_mem.0 serial=0 region=region4 region_uuid=117b2cf4-b160-4090-9361-ba31b9649317 hpa=0xf0d0000000 dpa=0x40000000 length=0x40 source=Internal flags= overflow_time=0

[1]: https://www.computeexpresslink.org/download-the-specification

Alison Schofield (6):
  cxl/mbox: Add GET_POISON_LIST mailbox command
  cxl/trace: Add TRACE support for CXL media-error records
  cxl/memdev: Add trigger_poison_list sysfs attribute
  cxl/region: Provide region info to the cxl_poison trace event
  cxl/trace: Add an HPA to cxl_poison trace events
  tools/testing/cxl: Mock support for Get Poison List

 Documentation/ABI/testing/sysfs-bus-cxl | 14 ++++
 drivers/cxl/core/core.h                 |  5 ++
 drivers/cxl/core/mbox.c                 | 74 +++++++++++++++++++
 drivers/cxl/core/memdev.c               | 71 ++++++++++++++++++
 drivers/cxl/core/region.c               | 96 +++++++++++++++++++++++++
 drivers/cxl/core/trace.c                | 94 ++++++++++++++++++++++++
 drivers/cxl/core/trace.h                | 91 +++++++++++++++++++++++
 drivers/cxl/cxlmem.h                    | 69 +++++++++++++++++-
 drivers/cxl/pci.c                       |  4 ++
 tools/testing/cxl/test/mem.c            | 42 +++++++++++
 10 files changed, 559 insertions(+), 1 deletion(-)


base-commit: e686c32590f40bffc45f105c04c836ffad3e531a