Hi Linus, please pull from: git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/libnvdimm-for-4.9 ...to receive the libnvdimm update for 4.9. Aside from the recently added pmem sub-division support these have been in -next for several releases with no reported issues. +AKA-The sub- division support was included in next-20161010 with no reported issues. +AKA-It passes all unit tests including new tests for all the new functionality below. The following changes since commit 595c73071e6641e59b83911fbb4026e767471000: libnvdimm, region: fix flush hint table thinko (2016-09-24 11:45:38 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/libnvdimm-for-4.9 for you to fetch changes up to e476f94482fc20a23b7b33b3d8e50f1953f71828: Merge branch 'for-4.9/dax' into libnvdimm-for-next (2016-10-07 16:46:30 -0700) ---------------------------------------------------------------- libnvdimm for 4.9 +ACo- PMEM sub-division support: Allow a single PMEM region to be divided into multiple namespaces. Originally, +AH4-2 years ago, it was thought that partitions of a /dev/pmemX block device could handle sub-allocations of persistent memory for different use cases. With the decision to not support DAX mappings of raw block-devices, and the genesis of device-dax, the need for having multiple pmem-namespace per region has grown. +ACo- Device-DAX unified inode: In support of dynamic-resizing of a device-dax instance the kernel arranges for all mappings of a device-dax node to share the same inode. This allows unmap / truncate / invalidation events to affect all instances of the device similar to the behavior of mmap on block devices. +ACo- Hardware error scrubbing reworks: The original address-range-scrub +- badblocks tracking solution allowed clearing entries at the individual namespace level, but it failed to clear the internal list of media errors maintained at the bus level. The result was that the next scrub or namespace disable/re-enable event would restore the cleared badblocks, but now that is fixed. The v4.8 kernel introduced an auto-scrub-on-machine-check behavior to repopulate the badblocks list. Now, in v4.9, the auto-scrub behavior can be disabled and simply arrange for the error reported in the machine-check to be added to the list. +ACo- DIMM health-event notification support: ACPI 6.1 defines a notification event code that can be send to ACPI NVDIMM devices. A poll(2) capable file descriptor for these events can be obtained from the nmemX/nfit/flags sysfs-attribute of a libnvdimm memory device. +ACo- Miscellaneous fixes: NVDIMM-N probe error, device-dax build error, and a change to dedup the flush hint list to not flush the memory controller more than necessary. ---------------------------------------------------------------- Arnd Bergmann (1): dax: use correct dev+AF8-t value Dan Williams (31): libnvdimm: fix SMART Health DSM payload definition tools/testing/nvdimm: unit test for acpi+AF8-nfit+AF8-notify() dax: cleanup needlessly global symbol warnings dax: reorder dax+AF8-fops function definitions dax: rename fops from dax+AF8-dev+AF8- to dax+AF8- dax: embed a struct device in dax+AF8-dev dax: convert to the cdev api dax: define a unified inode/address+AF8-space for device-dax mappings dax: unmap/truncate on device shutdown dax: check resource alignment at dax region/device create acpi, nfit: add dimm device notification support tools/testing/nvdimm: unit test for acpi+AF8-nvdimm+AF8-notify() tools/testing/nvdimm: test get+AF8-config+AF8-size DSM failures libnvdimm, namespace: debug invalid interleave-set-cookie values libnvdimm, region: move region-mapping input-paramters to nd+AF8-mapping+AF8-desc libnvdimm, label: convert label tracking to a linked list libnvdimm, namespace: refactor uuid+AF8-show() into a namespace+AF8-to+AF8-uuid() helper libnvdimm, namespace: unify blk and pmem label scanning tools/testing/nvdimm: support for sub-dividing a pmem region libnvdimm, namespace: allow multiple pmem-namespaces per region at scan time libnvdimm, namespace: sort namespaces by dpa at init libnvdimm, region: update nd+AF8-region+AF8-available+AF8-dpa() for multi-pmem support libnvdimm, namespace: expand pmem device naming scheme for multi-pmem libnvdimm, namespace: update label implementation for multi-pmem libnvdimm, namespace: enable allocation of multiple pmem namespaces libnvdimm, namespace: filter out of range labels in scan+AF8-labels() libnvdimm, namespace: lift single pmem limit in scan+AF8-labels() libnvdimm, namespace: allow creation of multiple pmem-namespaces per region dax: convert devm+AF8-create+AF8-dax+AF8-dev to PTR+AF8-ERR Merge branch 'for-4.9/libnvdimm' into libnvdimm-for-next Merge branch 'for-4.9/dax' into libnvdimm-for-next Dave Jiang (2): nvdimm: remove duplicate nd+AF8-mapping declaration nvdimm: reduce duplicated wpq flushes Geert Uytterhoeven (1): nvdimm: Spelling s/unacknoweldged/unacknowledged/ Ross Zwisler (1): /dev/dax: fix Kconfig dependency build breakage Toshi Kani (1): libnvdimm: Fix nvdimm+AF8-probe error on NVDIMM-N Vishal Verma (4): acpi, nfit: check for the correct event code in notifications nfit: don't start a full scrub by default for an MCE pmem: reduce kmap+AF8-atomic sections to the memcpys only libnvdimm: clear the internal poison+AF8-list when clearing badblocks drivers/acpi/nfit/core.c +AHw- 210 +-+-+-+-+-+-+--- drivers/acpi/nfit/mce.c +AHw- 24 +-- drivers/acpi/nfit/nfit.h +AHw- 17 +- drivers/dax/Kconfig +AHw- 5 +- drivers/dax/dax.c +AHw- 577 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+----------- drivers/dax/dax.h +AHw- 5 +-- drivers/dax/pmem.c +AHw- 7 +-- drivers/nvdimm/Kconfig +AHw- 2 +-- drivers/nvdimm/bus.c +AHw- 2 +- drivers/nvdimm/core.c +AHw- 73 +-+-+-- drivers/nvdimm/dimm.c +AHw- 11 +- drivers/nvdimm/dimm+AF8-devs.c +AHw- 226 +-+-+-+-+-+-+---- drivers/nvdimm/label.c +AHw- 192 +-+-+-+-+----- drivers/nvdimm/namespace+AF8-devs.c +AHw- 792 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+------------ drivers/nvdimm/nd-core.h +AHw- 24 +-- drivers/nvdimm/nd.h +AHw- 29 +-- drivers/nvdimm/pmem.c +AHw- 28 +-- drivers/nvdimm/region+AF8-devs.c +AHw- 75 +-+-+-- fs/char+AF8-dev.c +AHw- 1 +- include/linux/libnvdimm.h +AHw- 28 +-- include/linux/nd.h +AHw- 8 +-- include/uapi/linux/magic.h +AHw- 1 +- include/uapi/linux/ndctl.h +AHw- 30 +-- tools/testing/nvdimm/Kbuild +AHw- 1 +- tools/testing/nvdimm/test/iomap.c +AHw- 151 +-+-+-+-+--- tools/testing/nvdimm/test/nfit.c +AHw- 160 +-+-+-+-+-+-- tools/testing/nvdimm/test/nfit+AF8-test.h +AHw- 12 +-- 27 files changed, 1940 insertions(+-), 751 deletions(-)-- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html