tag | a9018426b8666cfff60e902fef6ac71400ea6b5e | |
---|---|---|
tagger | Dan Williams <dan.j.williams@intel.com> | Thu Aug 04 21:27:09 2016 -0700 |
object | 81bb0fb9fb00596b1a46557c788439bbe4089369 |
ndctl: release v54 This release incorporates the capabilities of the 4.8 kernel. Updates to the unit tests make up the bulk of this release to account for kernel commit 1ee6667cd8d1 "libnvdimm, pfn, dax: fix initialization vs autodetect for mode + alignment". Commands: list: add device-dax information list: add btt size information create-namespace: fix handling of invalid sector sizes create-namespace: static analysis fixes bash-completion: namespace completion enhancements Tests: libndctl: updates for pfn and dax autodetect changes libndctl: new gates for running against older kernels device-dax: new pcommit: remove, the pcommit instruction has been deprecated Apis: ndctl_dimm_get_manufacturing_date: new ndctl_dimm_get_manufacturing_location: new ndctl_btt_get_size: new ndctl_cmd_unref: fix, accepts NULL input
commit | 81bb0fb9fb00596b1a46557c788439bbe4089369 | [log] [tgz] |
---|---|---|
author | Dan Williams <dan.j.williams@intel.com> | Thu Aug 04 16:02:04 2016 -0700 |
committer | Dan Williams <dan.j.williams@intel.com> | Thu Aug 04 21:26:48 2016 -0700 |
tree | c1d02db67af102fb84344923a0186ce58636b602 | |
parent | f7018a86f46258382843e742df5b6ab8fd9360d1 [diff] |
ndctl: release v54 This release incorporates the capabilities of the 4.8 kernel. Updates to the unit tests make up the bulk of this release to account for kernel commit 1ee6667cd8d1 "libnvdimm, pfn, dax: fix initialization vs autodetect for mode + alignment". Commands: list: add device-dax information list: add btt size information create-namespace: fix handling of invalid sector sizes create-namespace: static analysis fixes bash-completion: namespace completion enhancements Tests: libndctl: updates for pfn and dax autodetect changes libndctl: new gates for running against older kernels device-dax: new pcommit: remove, the pcommit instruction has been deprecated Apis: ndctl_dimm_get_manufacturing_date: new ndctl_dimm_get_manufacturing_location: new ndctl_btt_get_size: new ndctl_cmd_unref: fix, accepts NULL input
Utility library for managing the libnvdimm (non-volatile memory device) sub-system in the Linux kernel
./autogen.sh
./configure --enable-local
make
make check
sudo make install
See the latest documentation for the NVDIMM kernel sub-system here:
The unit tests run by make check
require the nfit_test.ko module to be loaded. To build and install nfit_test.ko:
Obtain the kernel source. For example,git clone -b libnvdimm-for-next git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm.git
Skip to step 3 if the kernel version is >= v4.8. Otherwise, for kernel versions < v4.8, configure the kernel to make some memory available to CMA (contiguous memory allocator). This will be used to emulate DAX.CONFIG_DMA_CMA=y
CONFIG_CMA_SIZE_MBYTES=200
orcma=200M
on the kernel command line.
Compile the libnvdimm sub-system as a module, make sure “zone device” memory is enabled, and enable the btt, pfn, and dax features of the sub-system:CONFIG_ZONE_DEVICE=y
CONFIG_LIBNVDIMM=m
CONFIG_BLK_DEV_PMEM=m
CONFIG_ND_BLK=m
CONFIG_BTT=y
CONFIG_NVDIMM_PFN=y
CONFIG_NVDIMM_DAX=y
Build and install the unit test enabled libnvdimm modules in the following order. The unit test modules need to be in place prior to the depmod
that runs during the final modules_install
make M=tools/testing/nvdimm/
sudo make M=tools/testing/nvdimm/ modules_install
sudo make modules_install
Now run make check
in the ndctl source directory, or ndctl test
, if ndctl was built with --enable-test
.