|
|
Subscribe / Log in / New account

CXL Poison List Retrieval & Tracing

From:  alison.schofield-AT-intel.com
To:  Dan Williams <dan.j.williams-AT-intel.com>, Ira Weiny <ira.weiny-AT-intel.com>, Vishal Verma <vishal.l.verma-AT-intel.com>, Dave Jiang <dave.jiang-AT-intel.com>, Ben Widawsky <bwidawsk-AT-kernel.org>, Steven Rostedt <rostedt-AT-goodmis.org>
Subject:  [PATCH v7 0/6] CXL Poison List Retrieval & Tracing
Date:  Fri, 17 Feb 2023 18:18:48 -0800
Message-ID:  <cover.1676685180.git.alison.schofield@intel.com>
Cc:  Alison Schofield <alison.schofield-AT-intel.com>, linux-cxl-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org
Archive-link:  Article

From: Alison Schofield <alison.schofield@intel.com>

This is not targeting the 6.3 merge window.

Changes in v7:
- Update commit log wrt poison read for unmapped after mapped (Jonathan)
- Update comment wrt decoder modes and pmem/ram separation (Jonathan)
- Add dev_dbg() if mixed mode decoder appears
- Read poison on skip range first (Jonathan)
- trace: order fields (memdev, host, serial)
- trace: simplify host name get
- trace: use typical tabs
Link to v6: https://lore.kernel.org/linux-cxl/cover.1675983077.git.al...

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-specifica...


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               | 89 +++++++++++++++++++++++
 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, 549 insertions(+), 1 deletion(-)


base-commit: a5fcd228ca1db9810ba1ed461c90b6ee933b9daf
-- 
2.37.3



Copyright © 2023, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds