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>,
Ingo Molnar <mingo@redhat.com>, <linux-cxl@vger.kernel.org>,
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v3 4/6] cxl/region: Add trigger_poison_list sysfs attribute
Date: Wed, 16 Nov 2022 12:50:38 +0000 [thread overview]
Message-ID: <20221116125038.00006273@Huawei.com> (raw)
In-Reply-To: <a696d91e34fc845673345a6b024545df849a8fef.1668115235.git.alison.schofield@intel.com>
On Thu, 10 Nov 2022 19:12:42 -0800
alison.schofield@intel.com wrote:
> From: Alison Schofield <alison.schofield@intel.com>
>
> When a boolean 'true' is written to this attribute the region driver
> retrieves the poison list for the capacity each device contributes
> to this region. The list includes addresses that are poisoned, or
> would result in poison if accessed, and the source of the poison.
> The retrieved errors are logged as kernel trace events with the
> label 'cxl_poison'.
>
> Devices not supporting the poison list capability are ignored.
>
> Signed-off-by: Alison Schofield <alison.schofield@intel.com>
Trivial comment inline you might want to consider.
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> ---
> Documentation/ABI/testing/sysfs-bus-cxl | 14 +++++++++++
> drivers/cxl/core/region.c | 33 +++++++++++++++++++++++++
> 2 files changed, 47 insertions(+)
>
> diff --git a/Documentation/ABI/testing/sysfs-bus-cxl b/Documentation/ABI/testing/sysfs-bus-cxl
> index 1c5f4a853ba2..54fad3bdcb2b 100644
> --- a/Documentation/ABI/testing/sysfs-bus-cxl
> +++ b/Documentation/ABI/testing/sysfs-bus-cxl
> @@ -402,3 +402,17 @@ Description:
> attribute is only visible for devices supporting the
> capability. The retrieved errors are logged as kernel
> trace events with the label 'cxl_poison'.
> +
> +
> +What: /sys/bus/cxl/devices/regionZ/trigger_poison_list
> +Date: November, 2022
> +KernelVersion: v6.2
> +Contact: linux-cxl@vger.kernel.org
> +Description:
> + (WO) When a boolean 'true' is written to this attribute the
> + region driver retrieves the poison list for the capacity
> + each device contributes to this region. The list includes
Trivial: Same as in previous patch. "includes" is too vague.
> + addresses that are poisoned, or would result in poison if
> + accessed, and the source of the poison. The retrieved
> + errors are logged as kernel trace events with the label
> + 'cxl_poison'.
> diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c
> index f9ae5ad284ff..68821238491e 100644
> --- a/drivers/cxl/core/region.c
> +++ b/drivers/cxl/core/region.c
> @@ -72,6 +72,38 @@ static int is_dup(struct device *match, void *data)
> return 0;
> }
>
> +static ssize_t trigger_poison_list_store(struct device *dev,
> + struct device_attribute *attr,
> + const char *buf, size_t len)
> +{
> + struct cxl_region *cxlr = to_cxl_region(dev);
> + struct cxl_region_params *p = &cxlr->params;
> + struct cxl_endpoint_decoder *cxled;
> + struct cxl_memdev *cxlmd;
> + u64 offset, length;
> + int rc, i;
> + bool tmp;
> +
> + if (kstrtobool(buf, &tmp))
> + return -EINVAL;
> +
> + for (i = 0; i < p->nr_targets; i++) {
> + cxled = p->targets[i];
> + cxlmd = cxled_to_memdev(cxled);
> + if (!test_bit(CXL_MEM_COMMAND_ID_GET_POISON,
> + cxlmd->cxlds->enabled_cmds))
> + continue;
> +
> + offset = cxl_dpa_resource_start(cxled);
> + length = cxl_dpa_size(cxled);
> + rc = cxl_mem_get_poison(cxlmd, offset, length, cxlr);
> + if (rc)
> + return rc;
> + }
> + return len;
> +}
> +static DEVICE_ATTR_WO(trigger_poison_list);
> +
> static ssize_t uuid_store(struct device *dev, struct device_attribute *attr,
> const char *buf, size_t len)
> {
> @@ -570,6 +602,7 @@ static struct attribute *cxl_region_attrs[] = {
> &dev_attr_interleave_granularity.attr,
> &dev_attr_resource.attr,
> &dev_attr_size.attr,
> + &dev_attr_trigger_poison_list.attr,
> NULL,
> };
>
next prev parent reply other threads:[~2022-11-16 12:50 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-11 3:12 [PATCH v3 0/6] CXL Poison List Retrieval & Tracing alison.schofield
2022-11-11 3:12 ` [PATCH v3 1/6] trace, cxl: Introduce a TRACE_EVENT for CXL poison records alison.schofield
2022-11-16 12:19 ` Jonathan Cameron
2022-12-04 22:42 ` Dan Williams
2022-11-11 3:12 ` [PATCH v3 2/6] cxl/mbox: Add GET_POISON_LIST mailbox command alison.schofield
2022-11-16 12:41 ` Jonathan Cameron
2022-11-17 23:55 ` Alison Schofield
2022-12-07 2:41 ` Dan Williams
2022-12-07 16:10 ` Alison Schofield
2022-12-07 21:39 ` Dan Williams
2022-12-08 3:47 ` Alison Schofield
2022-11-11 3:12 ` [PATCH v3 3/6] cxl/memdev: Add trigger_poison_list sysfs attribute alison.schofield
2022-11-16 12:48 ` Jonathan Cameron
2022-11-18 0:15 ` Alison Schofield
2022-11-11 3:12 ` [PATCH v3 4/6] cxl/region: " alison.schofield
2022-11-16 12:50 ` Jonathan Cameron [this message]
2022-11-18 0:24 ` Alison Schofield
2022-11-11 3:12 ` [PATCH v3 5/6] tools/testing/cxl: Mock the max err records field of Identify cmd alison.schofield
2022-11-16 12:51 ` Jonathan Cameron
2022-11-18 0:25 ` Alison Schofield
2022-11-11 3:12 ` [PATCH v3 6/6] tools/testing/cxl: Mock the Get Poison List mbox command alison.schofield
2022-11-16 12:52 ` Jonathan Cameron
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=20221116125038.00006273@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=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.