nvdimm.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Dan Williams <dan.j.williams@intel.com>
To: James Anandraj <james.sushanth.anandraj@intel.com>
Cc: "Linux NVDIMM" <nvdimm@lists.linux.dev>,
	jmoyer <jmoyer@redhat.com>, "Michal Suchánek" <msuchanek@suse.de>,
	"Adam Borowski" <kilobyte@angband.pl>
Subject: Re: [PATCH v1 0/4] ndctl: Add pcdctl tool with pcdctl list and reconfigure-region commands
Date: Thu, 8 Jul 2021 14:24:04 -0700	[thread overview]
Message-ID: <CAPcyv4iQqL7dGxgN_pSR0Gu27DXX4-d6SNhi2nUs38Mrq+jB=Q@mail.gmail.com> (raw)
In-Reply-To: <20210708183741.2952-1-james.sushanth.anandraj@intel.com>

[ add Jeff, Michal, and Adam ]

Hey ndctl distro maintainers,

Just wanted to highlight this new tool submission for your
consideration. The goal here is to have a Linux native provisioning
tool that covers the basics of the functionality that is outside of
the ACPI specification, and reduce the need for ipmctl outside of
exceptional device-specific debug scenarios. Recall that the ACPI NFIT
communicates the static region configuration to the OS, but changing
that configuration is a device-specific protocol plus a reboot. Until
the arrival of pcdctl, region provisioning required ipmctl.

I will note that CXL moves the region configuration into the base CXL
specification so the ndctl project will pick up a "cxl-cli" tool for
that purpose. In general, the ndctl project is open to carrying
support for persistent memory devices with open specifications. In
this case the provisioning specification for devices formerly driven
by ipmctl was opened up and provided here:

https://cdrdv2.intel.com/v1/dl/getContent/634430

Please comment on its suitability for shipping in distros alongside
the ndctl tool.

On Thu, Jul 8, 2021 at 11:38 AM James Anandraj
<james.sushanth.anandraj@intel.com> wrote:
>
> From: James Sushanth Anandraj <james.sushanth.anandraj@intel.com>
>
> The Intel Optane Persistent Memory OS provisioning specification
> describes how to support basic provisioning for Intel Optane
> persistent memory 100 and 200 series for use in different
> operating modes using OS software.
>
> This patch set introduces a new utility pcdctl that implements
> basic provisioning as described in the provisioning specification
> document at https://cdrdv2.intel.com/v1/dl/getContent/634430 .
>
> The pcdctl utility provides enumeration and region reconfiguration
> commands for "nvdimm" subsystem devices (Non-volatile Memory). This
> is implemented as a separate tool rather than as a feature of ndctl as
> the steps for provisioning are specific to Intel Optane devices and
> are as follows.
> 1..Generate a new region configuration request using this utility.
> 2. Reset the platform.
> 3. Use this utility to list the status of operation.
>
> James Sushanth Anandraj (4):
>   Documentation/pcdctl: Add documentation for pcdctl tool and commands
>   pcdctl/list: Add pcdctl-list command to enumerate 'nvdimm' devices
>   pcdctl/reconfigure: Add pcdctl-reconfigure-region command
>   pcdctl/reconfigure: Add support for pmem and iso-pmem modes
>
>  Documentation/pcdctl/Makefile.am              |   59 +
>  .../pcdctl/asciidoctor-extensions.rb          |   30 +
>  Documentation/pcdctl/pcdctl-list.txt          |   56 +
>  .../pcdctl/pcdctl-reconfigure-region.txt      |   50 +
>  Documentation/pcdctl/pcdctl.txt               |   40 +
>  Documentation/pcdctl/theory-of-operation.txt  |   28 +
>  Makefile.am                                   |    4 +-
>  configure.ac                                  |    2 +
>  pcdctl/Makefile.am                            |   18 +
>  pcdctl/builtin.h                              |    9 +
>  pcdctl/list.c                                 |  114 ++
>  pcdctl/list.h                                 |   11 +
>  pcdctl/pcat.c                                 |   59 +
>  pcdctl/pcat.h                                 |   13 +
>  pcdctl/pcd.h                                  |  381 +++++
>  pcdctl/pcdctl.c                               |   88 +
>  pcdctl/reconfigure.c                          | 1458 +++++++++++++++++
>  pcdctl/reconfigure.h                          |   12 +
>  util/main.h                                   |    1 +
>  19 files changed, 2431 insertions(+), 2 deletions(-)
>  create mode 100644 Documentation/pcdctl/Makefile.am
>  create mode 100644 Documentation/pcdctl/asciidoctor-extensions.rb
>  create mode 100644 Documentation/pcdctl/pcdctl-list.txt
>  create mode 100644 Documentation/pcdctl/pcdctl-reconfigure-region.txt
>  create mode 100644 Documentation/pcdctl/pcdctl.txt
>  create mode 100644 Documentation/pcdctl/theory-of-operation.txt
>  create mode 100644 pcdctl/Makefile.am
>  create mode 100644 pcdctl/builtin.h
>  create mode 100644 pcdctl/list.c
>  create mode 100644 pcdctl/list.h
>  create mode 100644 pcdctl/pcat.c
>  create mode 100644 pcdctl/pcat.h
>  create mode 100644 pcdctl/pcd.h
>  create mode 100644 pcdctl/pcdctl.c
>  create mode 100644 pcdctl/reconfigure.c
>  create mode 100644 pcdctl/reconfigure.h
>
> --
> 2.20.1
>
>

  parent reply	other threads:[~2021-07-08 21:24 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-08 18:37 [PATCH v1 0/4] ndctl: Add pcdctl tool with pcdctl list and reconfigure-region commands James Anandraj
2021-07-08 18:37 ` [PATCH v1 1/4] Documentation/pcdctl: Add documentation for pcdctl tool and commands James Anandraj
2021-07-08 21:42   ` Dan Williams
2021-07-08 18:37 ` [PATCH v1 2/4] pcdctl/list: Add pcdctl-list command to enumerate 'nvdimm' devices James Anandraj
2021-07-08 18:37 ` [PATCH v1 3/4] pcdctl/reconfigure: Add pcdctl-reconfigure-region command James Anandraj
2021-07-08 18:37 ` [PATCH v1 4/4] pcdctl/reconfigure: Add support for pmem and iso-pmem modes James Anandraj
2021-07-08 21:24 ` Dan Williams [this message]
2021-07-09 12:23   ` [PATCH v1 0/4] ndctl: Add pcdctl tool with pcdctl list and reconfigure-region commands Adam Borowski
2021-07-09 19:01     ` Dan Williams
2021-07-09 19:21       ` Jeff Moyer
2021-07-09 15:25   ` Jeff Moyer
2021-07-09 18:58     ` Dan Williams
2021-07-12 14:00       ` Michal Suchánek
2021-07-12 20:19         ` 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='CAPcyv4iQqL7dGxgN_pSR0Gu27DXX4-d6SNhi2nUs38Mrq+jB=Q@mail.gmail.com' \
    --to=dan.j.williams@intel.com \
    --cc=james.sushanth.anandraj@intel.com \
    --cc=jmoyer@redhat.com \
    --cc=kilobyte@angband.pl \
    --cc=msuchanek@suse.de \
    --cc=nvdimm@lists.linux.dev \
    /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;
as well as URLs for NNTP newsgroup(s).