From: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
To: Dave Jiang <dave.jiang@intel.com>
Cc: <linux-cxl@vger.kernel.org>, Jim Harris <jim.harris@samsung.com>,
"Dan Williams" <dan.j.williams@intel.com>, <dave@stgolabs.net>,
<alison.schofield@intel.com>, <vishal.l.verma@intel.com>,
<ira.weiny@intel.com>
Subject: Re: [PATCH v3 2/2] cxl: Add decoders_committed sysfs attribute to cxl_port
Date: Thu, 19 Oct 2023 15:38:43 +0100 [thread overview]
Message-ID: <20231019153843.00007850@Huawei.com> (raw)
In-Reply-To: <169747907439.272156.10261062080830155662.stgit@djiang5-mobl3>
On Mon, 16 Oct 2023 10:57:54 -0700
Dave Jiang <dave.jiang@intel.com> wrote:
> This attribute allows cxl-cli to determine whether there are decoders
> committed to a memdev. This is only a snapshot of the state, and
> doesn't offer any protection or serialization against a concurrent
> disable-region operation.
>
> Reviewed-by: Jim Harris <jim.harris@samsung.com>
> Suggested-by: Dan Williams <dan.j.williams@intel.com>
> Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Seems reasonable, but it is adding ABI so the docs are missing.
Documentation/ABI/testing/sysfs-bus-cxl
> ---
> v2:
> - Use cxl_region_rwsem to protect reading of decoder info. (Dan)
> ---
> drivers/cxl/core/port.c | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/drivers/cxl/core/port.c b/drivers/cxl/core/port.c
> index d0ed98a6bade..0adee1e406ec 100644
> --- a/drivers/cxl/core/port.c
> +++ b/drivers/cxl/core/port.c
> @@ -534,8 +534,33 @@ static void cxl_port_release(struct device *dev)
> kfree(port);
> }
>
> +static ssize_t decoders_committed_show(struct device *dev,
> + struct device_attribute *attr, char *buf)
> +{
> + struct cxl_port *port = to_cxl_port(dev);
> + int rc;
> +
> + down_read(&cxl_region_rwsem);
> + rc = sysfs_emit(buf, "%d\n", cxl_num_decoders_committed(port));
> + up_read(&cxl_region_rwsem);
> +
> + return rc;
> +}
> +
> +static DEVICE_ATTR_RO(decoders_committed);
> +
> +static struct attribute *cxl_port_attrs[] = {
> + &dev_attr_decoders_committed.attr,
> + NULL,
> +};
> +
> +static struct attribute_group cxl_port_attribute_group = {
> + .attrs = cxl_port_attrs,
> +};
> +
> static const struct attribute_group *cxl_port_attribute_groups[] = {
> &cxl_base_attribute_group,
> + &cxl_port_attribute_group,
> NULL,
> };
>
>
>
>
next prev parent reply other threads:[~2023-10-19 14:38 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20231016175800uscas1p2cdf5532581e564f356b36c0126d2a25f@uscas1p2.samsung.com>
2023-10-16 17:57 ` [PATCH v3 1/2] cxl: Add cxl_decoders_committed() helper Dave Jiang
2023-10-16 17:57 ` [PATCH v3 2/2] cxl: Add decoders_committed sysfs attribute to cxl_port Dave Jiang
2023-10-19 14:38 ` Jonathan Cameron [this message]
2023-10-28 3:39 ` Dan Williams
2023-10-16 19:46 ` [PATCH v3 1/2] cxl: Add cxl_decoders_committed() helper Jim Harris
2023-10-19 14:34 ` Jonathan Cameron
2023-10-23 17:49 ` Alison Schofield
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=20231019153843.00007850@Huawei.com \
--to=jonathan.cameron@huawei.com \
--cc=alison.schofield@intel.com \
--cc=dan.j.williams@intel.com \
--cc=dave.jiang@intel.com \
--cc=dave@stgolabs.net \
--cc=ira.weiny@intel.com \
--cc=jim.harris@samsung.com \
--cc=linux-cxl@vger.kernel.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.