From: Jehoon Park <jehoon.park@samsung.com>
To: Alison Schofield <alison.schofield@intel.com>
Cc: linux-cxl@vger.kernel.org, dan.j.williams@intel.com,
vishal.l.verma@intel.com, ira.weiny@intel.com,
bwidawsk@kernel.org
Subject: Re: [ndctl patch RFC 0/2] add support for IDENTIFY command
Date: Wed, 8 Mar 2023 18:01:34 +0900 [thread overview]
Message-ID: <20230308090134.GA15397@dell-Precision-7920-Tower> (raw)
In-Reply-To: <ZAecHtXUX5ZR9ccU@aschofie-mobl2>
[-- Attachment #1: Type: text/plain, Size: 5225 bytes --]
On Tue, Mar 07, 2023 at 12:18:38PM -0800, Alison Schofield wrote:
> On Tue, Mar 07, 2023 at 05:21:00PM +0900, Jehoon Park wrote:
> > From: jehoon park <jehoon.park@samsung.com>
> >
> > This patchset supports CXL IDENTIFY mailbox command and corresponding
> > cxl tool interface command.
> >
> > CXL 3.0 Spec 8.2.9.8.1 defines IDENTIFY command which retrieves basic
> > information about CXL memory device. The information consist of device's
> > firmware version, capacity, LSA size, event log size, poison list size,
> > inject poison limit, poison handling capabilities and QoS telemetry
> > capabilities. Firmware version, capacity and LSA size are already supported
> > and used for partition commands or sysfs attributes while others are not.
> > Since patches about event log [1] and poison [2] are discussed recently,
> > support for those information will be helpful.
>
> Hi Jehoon,
>
> Does this need to be a separate command? Identify fields can be included
> in cxl list options. For example, the -I option to cxl list, issues the
> identify command and includes the partition related entries in that json
> output.
>
> There are other identify fields that need to be picked up, like the
> poison related fields. They need to be added to the cxl list
> options. We may want to include some when we list the poison, and
> some as an option in the memdev listing.
>
> Is there some reasoning behind separating this out? If not, can we look
> to add the missing fields to the various cxl-list options and add
> new cxl-list options where needed?
>
> Alison
>
Hi Alison, thank you for comments.
I suggested separate identify command since it retrieves basic information
about memdev. Since cxl-list command lists all cxl objects, I intended to
focus memdev information by separating it. Also, I referred to nvme-cli
which has id-ctrl and id-ns commands.
However, as you commented, some fields were already included in cxl-list.
I think the idea that providing information to proper listing option also
makes sense.
Then, by following the approach, including fields to cxl-list options,
identify fields could be included like below. Do they look fine?
1. FW version and LSA size are included when listing memdev. ("list -m memdev")
2. For poison related fields (poison_list_max size and inject_poison_limit),
include them when listing poison. ("--media-errors" option, patch [1])
3. For capabilities fields, add new option "-C, --capabilities" to the
memdev listing. (I see there exists same option for listing nvdimm device)
However, I'm confused about event_log_size fields. Could they be included
in capabilities option too? or require new option like "--event"?
Jehoon
[1] https://lore.kernel.org/nvdimm/cover.1668133294.git.alison.schofield@intel.com/
> >
> > Example:
>
> Users expect json formatted output here.
>
>
> > # cxl identify mem0
> > FW Revision : BWFW VERSION 00
> > Total Capacity : 1.00 GB
> > Volatile Only Capacity : 1.00 GB
> > Persistent Only Capacity : 0 B
> > Partition Alignment : 0 B
> > Informational Event Log Size : 0
> > Warning Event Log Size : 0
> > Failure Event Log Size : 0
> > Fatal Event Log Size : 0
> > LSA Size : 0 B
> > Poison List Maximum Media Error Records : 256
> > Inject Poison Limit : 0
> > Poison Handling Capabilities
> > Injects Persistent Poison : Not Supported
> > Scans for Poison : Not Supported
> > QoS Telemetry Capabilities
> > Egress Port Congestion : Not Supported
> > Temporary Throughput Reduction : Not Supported
> > cxl memdev: cmd_identify: identified 1 mem
> >
> > This patch is RFC because some of the information are already provided by
> > "list -m <memdev>" command and sysfs attributes.
> > I think a separate cxl tool interface command for identify is useful to provide
> > device's information clearly. In case of nvme-cli, there are separate
> > interface commands for identifying controller and namespace: id-ctrl and id-ns.
> >
> > [1] https://lore.kernel.org/linux-cxl/20221216-cxl-ev-log-v7-0-2316a5c8f7d8@intel.com/
> > [2] https://lore.kernel.org/linux-cxl/cover.1676685180.git.alison.schofield@intel.com/
> >
> > jehoon park (2):
> > libcxl: add accessors for IDENTIFY command
> > cxl: add identify command to cxl tool
> >
> > Documentation/cxl/cxl-identify.txt | 57 ++++++++++++
> > Documentation/cxl/meson.build | 1 +
> > cxl/builtin.h | 1 +
> > cxl/cxl.c | 1 +
> > cxl/lib/libcxl.c | 73 +++++++++++++++
> > cxl/lib/libcxl.sym | 11 +++
> > cxl/lib/private.h | 11 +++
> > cxl/libcxl.h | 16 ++++
> > cxl/memdev.c | 141 +++++++++++++++++++++++++++++
> > 9 files changed, 312 insertions(+)
> > create mode 100644 Documentation/cxl/cxl-identify.txt
> >
> >
> > base-commit: b830c4af984e72e5849c0705669aad2ffa19db13
> > --
> > 2.17.1
> >
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
next prev parent reply other threads:[~2023-03-08 8:59 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20230307081917epcas2p1accc8f7bf3f31e08525684abb2efa788@epcas2p1.samsung.com>
2023-03-07 8:21 ` [ndctl patch RFC 0/2] add support for IDENTIFY command Jehoon Park
2023-03-07 8:21 ` [ndctl patch RFC 1/2] libcxl: add accessors " Jehoon Park
2023-03-07 8:21 ` [ndctl patch RFC 2/2] cxl: add identify command to cxl tool Jehoon Park
2023-03-07 20:18 ` [ndctl patch RFC 0/2] add support for IDENTIFY command Alison Schofield
2023-03-08 9:01 ` Jehoon Park [this message]
2023-03-08 18:22 ` Ira Weiny
2023-03-08 21:58 ` Alison Schofield
2023-03-10 6:54 ` Jehoon Park
2023-03-10 9:45 ` 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=20230308090134.GA15397@dell-Precision-7920-Tower \
--to=jehoon.park@samsung.com \
--cc=alison.schofield@intel.com \
--cc=bwidawsk@kernel.org \
--cc=dan.j.williams@intel.com \
--cc=ira.weiny@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox