From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
To: <alison.schofield@intel.com>
Cc: Dan Williams <dan.j.williams@intel.com>,
Ira Weiny <ira.weiny@intel.com>,
Vishal Verma <vishal.l.verma@intel.com>,
Dave Jiang <dave.jiang@intel.com>,
Ben Widawsky <bwidawsk@kernel.org>,
Steven Rostedt <rostedt@goodmis.org>, <linux-cxl@vger.kernel.org>
Subject: Re: [PATCH v13 0/9] CXL Poison List Retrieval & Tracing
Date: Sun, 23 Apr 2023 16:30:11 +0100 [thread overview]
Message-ID: <20230423163011.00004b45@huawei.com> (raw)
In-Reply-To: <cover.1681838291.git.alison.schofield@intel.com>
On Tue, 18 Apr 2023 10:39:00 -0700
alison.schofield@intel.com wrote:
> From: Alison Schofield <alison.schofield@intel.com>
>
FWIW I've just been hammering the QEMU emulation for this to test a new
version of that, but as a side effect I hit ther corner cases with this as well and
it all looks good to me.
Tested-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Changes in v13:
> - New Lead-in patches
> cxl/mbox: Deprecate poison commands (Dan)
> cxl/mbox: Restrict poison cmds to debugfs cxl_raw_allow_all
>
> - New Patch: cxl/mbox: Initialize the poison state
> Patch connects the lead-in patches with the rest of this set. Poison init
> was previously done in the GET_POISON_LIST patch. With LIST deprecated,
> needed a method, along with a reason, to discover device support.
>
> - cxl_poison_state_init(): use kvmalloc for potentially large payload (Dan)
> - cxl_poison_state_init() unset poison enabled bit on failure
> - trigger sysfs: make the core interface a proper api (Dan)
> - trigger sysfs: use down_read_interruptible (Dan)
> - Reorganize the by_endpoint work to make typesafe (Dan)
> - poison_by_decoder() only fill ctx when iteration is done
> - Remove mentions of mixed mode as a 'watch for'. Just say no. (Dan)
> - s/overflow_t/overflow_ts in cxlmem.h struct and trace.h struct (Dan)
> - Really remove errant line from cxl_memdev_visible() (Jonathan, DaveJ, Dan)
>
> Link to v12:
> https://lore.kernel.org/linux-cxl/cover.1681159309.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 trigger:
> $ echo 1 > /sys/bus/cxl/devices/mem0/trigger_poison_list
>
> Example Trace Events:
>
> Poison found in a PMEM Region:
> cxl_poison: memdev=mem0 host=cxl_mem.0 serial=0 trace_type=List region=region11 region_uuid=d96e67ec-76b0-406f-8c35-5b52630dcad1 hpa=0xf100000000 dpa=0x70000000 dpa_length=0x40 source=Injected flags= overflow_time=0
>
> Poison found in RAM Region:
> cxl_poison: memdev=mem0 host=cxl_mem.0 serial=0 trace_type=List region=region2 region_uuid=00000000-0000-0000-0000-000000000000 hpa=0xf010000000 dpa=0x0 dpa_length=0x40 source=Injected flags= overflow_time=0
>
> Poison found in an unmapped DPA resource:
> cxl_poison: memdev=mem3 host=cxl_mem.3 serial=3 trace_type=List region= region_uuid=00000000-0000-0000-0000-000000000000 hpa=0xffffffffffffffff dpa=0x40000000 dpa_length=0x40 source=Injected flags= overflow_time=0
>
> [1]: https://www.computeexpresslink.org/download-the-specification
>
> Alison Schofield (8):
> cxl/mbox: Restrict poison cmds to debugfs cxl_raw_allow_all
> cxl/mbox: Initialize the poison state
> 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
>
> Dan Williams (1):
> cxl/mbox: Deprecate poison commands
>
> Documentation/ABI/testing/sysfs-bus-cxl | 14 +++
> drivers/cxl/core/core.h | 9 ++
> drivers/cxl/core/mbox.c | 150 ++++++++++++++++++++++--
> drivers/cxl/core/memdev.c | 54 +++++++++
> drivers/cxl/core/region.c | 124 ++++++++++++++++++++
> drivers/cxl/core/trace.c | 94 +++++++++++++++
> drivers/cxl/core/trace.h | 101 ++++++++++++++++
> drivers/cxl/cxlmem.h | 83 ++++++++++++-
> drivers/cxl/mem.c | 43 +++++++
> drivers/cxl/pci.c | 4 +
> include/uapi/linux/cxl_mem.h | 35 +++++-
> tools/testing/cxl/test/mem.c | 42 +++++++
> 12 files changed, 740 insertions(+), 13 deletions(-)
>
>
> base-commit: e686c32590f40bffc45f105c04c836ffad3e531a
next prev parent reply other threads:[~2023-04-23 15:30 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-18 17:39 [PATCH v13 0/9] CXL Poison List Retrieval & Tracing alison.schofield
2023-04-18 17:39 ` [PATCH v13 1/9] cxl/mbox: Deprecate poison commands alison.schofield
2023-04-18 17:39 ` [PATCH v13 2/9] cxl/mbox: Restrict poison cmds to debugfs cxl_raw_allow_all alison.schofield
2023-04-23 15:23 ` Jonathan Cameron
2023-04-18 17:39 ` [PATCH v13 3/9] cxl/mbox: Initialize the poison state alison.schofield
2023-04-22 3:22 ` Dan Williams
2023-04-23 15:28 ` Jonathan Cameron
2023-04-18 17:39 ` [PATCH v13 4/9] cxl/mbox: Add GET_POISON_LIST mailbox command alison.schofield
2023-04-18 17:39 ` [PATCH v13 5/9] cxl/trace: Add TRACE support for CXL media-error records alison.schofield
2023-04-18 17:39 ` [PATCH v13 6/9] cxl/memdev: Add trigger_poison_list sysfs attribute alison.schofield
2023-04-26 2:38 ` Davidlohr Bueso
2023-04-27 4:11 ` Alison Schofield
2023-04-27 15:39 ` Davidlohr Bueso
2023-04-27 16:35 ` Dan Williams
2023-04-27 19:18 ` Alison Schofield
2023-04-27 19:54 ` Dan Williams
2023-04-27 21:35 ` Alison Schofield
2023-04-18 17:39 ` [PATCH v13 7/9] cxl/region: Provide region info to the cxl_poison trace event alison.schofield
2023-04-22 21:36 ` Dan Williams
2023-04-18 17:39 ` [PATCH v13 8/9] cxl/trace: Add an HPA to cxl_poison trace events alison.schofield
2023-04-18 17:39 ` [PATCH v13 9/9] tools/testing/cxl: Mock support for Get Poison List alison.schofield
2023-04-23 15:30 ` Jonathan Cameron [this message]
2023-04-23 15:41 ` [PATCH v13 0/9] CXL Poison List Retrieval & Tracing Jonathan Cameron
2023-04-23 18:47 ` Dan Williams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230423163011.00004b45@huawei.com \
--to=jonathan.cameron@huawei.com \
--cc=alison.schofield@intel.com \
--cc=bwidawsk@kernel.org \
--cc=dan.j.williams@intel.com \
--cc=dave.jiang@intel.com \
--cc=ira.weiny@intel.com \
--cc=linux-cxl@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=vishal.l.verma@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox