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

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

Message

Alison Schofield Feb. 9, 2023, 11:32 p.m. UTC
  From: Alison Schofield <alison.schofield@intel.com>

This is not targeting the 6.3 merge window.

Changes in v6:
- Remove the ABI that collected poison per region, and added the
  region info to the per memdev collection.  (Dan)
  This means Patch 4 is brand new:
  	cxl/region: Provide region info to the cxl_poison trace event

- Also added Patch 5: cxl/trace: Add an HPA to cxl_poison trace events
  to this set. It comes w a couple of Review Tags, and is unchanged,
  from a v2 last posted upstream.
- Dropped Jonathan's Review on Patch 3 because of changes
- Remove local var 'cxlps' (cxl_poison_state) (Dan)
- Trigger sysfs attr on boolean truisms only (Dan)
- Remove unneeded param pcidev from trace call. 
- Mock: add __packed, and le64_to_cpu(() (Dan)
- Abbreviate less: s/max_mer/max_errors (Dan)
- Rename trace field 'pcidev', 'host' (Dan)
- getpoison_po/payload_out (Dan)
- Add serial no. to trace (Dan)
- s/getpoison_lock/lock (Dan)
- s/tmp/trigger

Link to v5: https://lore.kernel.org/linux-cxl/cover.1674070170.git.alison.schofield@intel.com/

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 serial=0 host=cxl_mem.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               | 68 ++++++++++++++++++
 drivers/cxl/core/region.c               | 82 +++++++++++++++++++++
 drivers/cxl/core/trace.c                | 94 +++++++++++++++++++++++++
 drivers/cxl/core/trace.h                | 92 ++++++++++++++++++++++++
 drivers/cxl/cxlmem.h                    | 69 +++++++++++++++++-
 drivers/cxl/pci.c                       |  4 ++
 tools/testing/cxl/test/mem.c            | 42 +++++++++++
 10 files changed, 543 insertions(+), 1 deletion(-)


base-commit: dbe9f7d1e155b97a42f7da81e22acc98fe0a9072