Linux-NVDIMM Archive on lore.kernel.org
 help / color / Atom feed
From: Joao Martins <joao.m.martins@oracle.com>
To: linux-nvdimm@lists.01.org
Cc: Dan Williams <dan.j.williams@intel.com>,
	Vishal Verma <vishal.l.verma@intel.com>
Subject: [PATCH ndctl v1 00/10] daxctl: Support for sub-dividing soft-reserved regions
Date: Fri,  3 Apr 2020 21:58:50 +0100
Message-ID: <20200403205900.18035-1-joao.m.martins@oracle.com> (raw)

Hey,

This series introduces the daxctl support for sub-dividing soft-reserved 
regions created by EFI/HMAT/efi_fake_mem. It's the userspace counterpart
of this recent patch series [0].

These new 'dynamic' regions can be partitioned into multiple different devices
which its subdivisions can consist of one or more ranges. This
is in contrast to static dax regions -- created with ndctl-create-namespace
 -m devdax -- which can't be subdivided neither discontiguous. 
 See also cover-letter of [0].

The daxctl changes in these patches are depicted as:

 * {create,destroy,disable,enable}-device:
   
   These orchestrate/manage the sub-division devices.
   It mimmics the same as namespaces equivalent commands.

 * Allow reconfigure-device to change the size of an existing *dynamic* dax
 device.

 * Add test coverage (so far tried to cover all range allocation code paths,
 but I am still fishing for bugs). Additionally, there are bugs so applying 
 [0] may not make it pass the added functional test yet.

I am sending the series earlier (i.e. before the kernel patches get merged)
mainly to share a common unit tests, and also letting others try it out.

The only TODOs left is documentation, and perhaps listing of the mappingX sysfs
entries.

Thoughts, comments appreciated. :)

Thanks!
 Joao

[0] "device-dax: Support sub-dividing soft-reserved ranges",
https://lore.kernel.org/linux-nvdimm/158500767138.2088294.17131646259803932461.stgit@dwillia2-desk3.amr.corp.intel.com/

Dan Williams (1):
  daxctl: Cleanup whitespace

Joao Martins (9):
  libdaxctl: add daxctl_dev_set_size()
  daxctl: add resize support in reconfigure-device
  daxctl: add command to disable devdax device
  daxctl: add command to enable devdax device
  libdaxctl: add daxctl_region_create_dev()
  daxctl: add command to create device
  libdaxctl: add daxctl_region_destroy_dev()
  daxctl: add command to destroy device
  daxctl/test: Add tests for dynamic dax regions

 daxctl/builtin.h         |   4 +
 daxctl/daxctl.c          |   4 +
 daxctl/device.c          | 310 ++++++++++++++++++++++++++++++++++++++-
 daxctl/lib/libdaxctl.c   |  67 +++++++++
 daxctl/lib/libdaxctl.sym |   7 +
 daxctl/libdaxctl.h       |   3 +
 test/Makefile.am         |   1 +
 test/daxctl-create.sh    | 293 ++++++++++++++++++++++++++++++++++++
 util/filter.c            |   2 +-
 9 files changed, 686 insertions(+), 5 deletions(-)
 create mode 100755 test/daxctl-create.sh

-- 
2.17.1
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org

             reply index

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-03 20:58 Joao Martins [this message]
2020-04-03 20:58 ` [PATCH ndctl v1 01/10] daxctl: Cleanup whitespace Joao Martins
2020-04-03 20:58 ` [PATCH ndctl v1 02/10] libdaxctl: add daxctl_dev_set_size() Joao Martins
2020-04-03 20:58 ` [PATCH ndctl v1 03/10] daxctl: add resize support in reconfigure-device Joao Martins
2020-04-03 20:58 ` [PATCH ndctl v1 04/10] daxctl: add command to disable devdax device Joao Martins
2020-04-03 20:58 ` [PATCH ndctl v1 05/10] daxctl: add command to enable " Joao Martins
2020-04-03 20:58 ` [PATCH ndctl v1 06/10] libdaxctl: add daxctl_region_create_dev() Joao Martins
2020-04-03 20:58 ` [PATCH ndctl v1 07/10] daxctl: add command to create device Joao Martins
2020-04-03 20:58 ` [PATCH ndctl v1 08/10] libdaxctl: add daxctl_region_destroy_dev() Joao Martins
2020-04-03 20:58 ` [PATCH ndctl v1 09/10] daxctl: add command to destroy device Joao Martins
2020-04-03 20:59 ` [PATCH ndctl v1 10/10] daxctl/test: Add tests for dynamic dax regions Joao Martins
2020-07-12 15:04   ` Dan Williams
2020-07-13  9:46     ` Joao Martins

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=20200403205900.18035-1-joao.m.martins@oracle.com \
    --to=joao.m.martins@oracle.com \
    --cc=dan.j.williams@intel.com \
    --cc=linux-nvdimm@lists.01.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

Linux-NVDIMM Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-nvdimm/0 linux-nvdimm/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-nvdimm linux-nvdimm/ https://lore.kernel.org/linux-nvdimm \
		linux-nvdimm@lists.01.org
	public-inbox-index linux-nvdimm

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.01.lists.linux-nvdimm


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git