Hi Linus, please pull from: +AKA- git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/libnvdimm-for-4.8 ...to receive the libnvdimm update for 4.8. This has been in -next with the following reported conflicts: 1/ The +AF8AXw-pmem address space has been removed. +AKA-New usages of +AF8AXw-pmem came in through the DM tree this cycle. 2/ A minor conflict in the pmem driver with the device+AF8-add+AF8-disk() changes that came in through the block layer. 3/ The removal of pcommit collided with new enabling in KVM. +AKA-At the time of writing you have not yet merged the KVM tree. A test resolution for 1 and 2 is available here: +AKA- git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-for-4.8-merge Stephen's resolution of the KVM conflict is available here: +AKA- https://lkml.org/lkml/2016/7/25/11 The pcommit removal in arch/x86/ has an ack from Ingo. --- The following changes since commit a72255983f12f31f0c8d8275fb1a781546cfacb7: +AKA- nfit: make DIMM DSMs optional (2016-07-19 12:32:39 -0700) are available in the git repository at: +AKA- git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/libnvdimm-for-4.8 for you to fetch changes up to 0606263f24f3d64960de742c55894190b5df903b: +AKA- Merge branch 'for-4.8/libnvdimm' into libnvdimm-for-next (2016-07-24 08:05:44 -0700) ---------------------------------------------------------------- libnvdimm for 4.8 1/ Replace pcommit with ADR / directed-flushing: +AKAAoACg-The pcommit instruction, which has not shipped on any product, is +AKAAoACg-deprecated. Instead, the requirement is that platforms implement either +AKAAoACg-ADR, or provide one or more flush addresses per nvdimm. ADR +AKAAoACg-(Asynchronous DRAM Refresh) flushes data in posted write buffers to the +AKAAoACg-memory controller on a power-fail event. Flush addresses are defined in +AKAAoACg-ACPI 6.x as an NVDIMM Firmware Interface Table (NFIT) sub-structure: +AKAAoACgACI-Flush Hint Address Structure+ACI-. A flush hint is an mmio address that +AKAAoACg-when written and fenced assures that all previous posted writes +AKAAoACg-targeting a given dimm have been flushed to media. 2/ On-demand ARS (address range scrub): +AKAAoACg-Linux uses the results of the ACPI ARS commands to track bad blocks +AKAAoACg-in pmem devices.+AKAAoA-When latent errors are detected we re-scrub the media +AKAAoACg-to refresh the bad block list, userspace can also request a re-scrub at +AKAAoACg-any time. 3/ Support for the Microsoft DSM (device specific method) command format. 4/ Support for EDK2/OVMF virtual disk device memory ranges. 5/ Various fixes and cleanups across the subsystem. ---------------------------------------------------------------- Dan Williams (32): +AKAAoACgAKAAoACg-libnvdimm: use devm+AF8-add+AF8-action+AF8-or+AF8-reset() +AKAAoACgAKAAoACg-libnvdimm: IS+AF8-ERR() usage cleanup +AKAAoACgAKAAoACg-tools/testing/nvdimm: add pfn device dependency +AKAAoACgAKAAoACg-libnvdimm, pmem: allow nfit+AF8-test to override pmem+AF8-direct+AF8-access() +AKAAoACgAKAAoACg-tools/testing/nvdimm: replace CONFIG+AF8-DMA+AF8-CMA dependency with vmalloc() +AKAAoACgAKAAoACg-tools/testing/nvdimm: remove +AF8AXw-wrap+AF8-devm+AF8-memremap+AF8-pages placeholder +AKAAoACgAKAAoACg-nfit: always associate flush hints +AKAAoACgAKAAoACg-nfit: don't override return value of nfit+AF8-mem+AF8-init +AKAAoACgAKAAoACg-libnvdimm: introduce devm+AF8-nvdimm+AF8-memremap(), convert nfit+AF8-spa+AF8-map() users +AKAAoACgAKAAoACg-libnvdimm, nfit: remove nfit+AF8-spa+AF8-map() infrastructure +AKAAoACgAKAAoACg-libnvdimm, nfit: move flush hint mapping to region-device driver-data +AKAAoACgAKAAoACg-tools/testing/nvdimm: simulate multiple flush hints per-dimm +AKAAoACgAKAAoACg-libnvdimm: keep region data alive over namespace removal +AKAAoACgAKAAoACg-libnvdimm: introduce nvdimm+AF8-flush() and nvdimm+AF8-has+AF8-flush() +AKAAoACgAKAAoACg-libnvdimm: cycle flush hints +AKAAoACgAKAAoACg-libnvdimm, pmem: use REQ+AF8-FUA, REQ+AF8-FLUSH for nvdimm+AF8-flush() +AKAAoACgAKAAoACg-libnvdimm, pmem: flush posted-write queues on shutdown +AKAAoACgAKAAoACg-fs/dax: remove wmb+AF8-pmem() +AKAAoACgAKAAoACg-libnvdimm, pmem: use nvdimm+AF8-flush() for namespace I/O writes +AKAAoACgAKAAoACg-pmem: kill wmb+AF8-pmem() +AKAAoACgAKAAoACg-pmem: kill +AF8AXw-pmem address space +AKAAoACgAKAAoACg-tools/testing/nvdimm: add virtual ramdisk range +AKAAoACgAKAAoACg-tools/testing/nvdimm: add manufacturing+AF8Aew-date+AHw-location+AH0- dimm properties +AKAAoACgAKAAoACg-nfit: fix +AF8-FIT evaluation memory leak +- use after free +AKAAoACgAKAAoACg-nfit: cleanup acpi+AF8-nfit+AF8-init calling convention +AKAAoACgAKAAoACg-libnvdimm: move -+AD4-module to struct nvdimm+AF8-bus+AF8-descriptor +AKAAoACgAKAAoACg-nfit, tools/testing/nvdimm/: unify shutdown paths +AKAAoACgAKAAoACg-Revert +ACI-KVM: x86: add pcommit support+ACI- +AKAAoACgAKAAoACg-x86/insn: remove pcommit +AKAAoACgAKAAoACg-libnvdimm: register nvdimm+AF8-bus devices with an nd+AF8-bus driver +AKAAoACgAKAAoACg-nfit: move to nfit/ sub-directory +AKAAoACgAKAAoACg-Merge branch 'for-4.8/libnvdimm' into libnvdimm-for-next Johannes Thumshirn (1): +AKAAoACgAKAAoACg-libnvdimm: initialize struct blk+AF8-integrity with 0 Lee, Chun-Yi (1): +AKAAoACgAKAAoACg-acpi, nfit: treat virtual ramdisk SPA as pmem region Markus Elfring (1): +AKAAoACgAKAAoACg-libnvdimm-btt: Delete an unnecessary check before the function call +ACIAXwBf-nd+AF8-device+AF8-register+ACI- Sajjan, Vikas C (2): +AKAAoACgAKAAoACg-nfit: use devm+AF8-add+AF8-action+AF8-or+AF8-reset() +AKAAoACgAKAAoACg-dax: use devm+AF8-add+AF8-action+AF8-or+AF8-reset() Vishal Verma (4): +AKAAoACgAKAAoACg-libnvdimm, btt: update the usage section in Documentation +AKAAoACgAKAAoACg-pmem: clarify a debug print in pmem+AF8-clear+AF8-poison +AKAAoACgAKAAoACg-nfit, libnvdimm: allow an ARS scrub to be triggered on demand +AKAAoACgAKAAoACg-nfit: do an ARS scrub on hitting a latent media error stuart hayes (1): +AKAAoACgAKAAoACg-nfit: add Microsoft NVDIMM DSM command set to white list +AKA-Documentation/filesystems/Locking+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-2 +-- +AKA-Documentation/nvdimm/btt.txt+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoA-28 +-- +AKA-arch/powerpc/sysdev/axonram.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-4 +-- +AKA-arch/x86/include/asm/cpufeatures.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-1 - +AKA-arch/x86/include/asm/pmem.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-77 +--- +AKA-arch/x86/include/asm/special+AF8-insns.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-46 -- +AKA-arch/x86/include/asm/vmx.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-1 - +AKA-arch/x86/include/uapi/asm/vmx.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-4 +-- +AKA-arch/x86/kvm/cpuid.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-2 +-- +AKA-arch/x86/kvm/cpuid.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-8 - +AKA-arch/x86/kvm/vmx.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-32 +-- +AKA-arch/x86/lib/x86-opcode-map.txt+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-2 +-- +AKA-drivers/acpi/Kconfig+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-27 +-- +AKA-drivers/acpi/Makefile+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-2 +-- +AKA-drivers/acpi/nfit/Kconfig+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoA-26 +- +AKA-drivers/acpi/nfit/Makefile+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-3 +- +AKA-drivers/acpi/+AHs-nfit.c +AD0APg- nfit/core.c+AH0AoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfA- 647 +-+-+-+-+-+-+-+-+-+-+-+---------- +AKA-drivers/acpi/nfit/mce.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-89 +-+-+- +AKA-drivers/acpi/+AHs- +AD0APg- nfit+AH0-/nfit.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-60 +-- +AKA-drivers/block/brd.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-4 +-- +AKA-drivers/dax/dax.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-6 +-- +AKA-drivers/dax/pmem.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-14 +-- +AKA-drivers/nvdimm/Kconfig+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-2 +-- +AKA-drivers/nvdimm/blk.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-11 +-- +AKA-drivers/nvdimm/btt+AF8-devs.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-3 +-- +AKA-drivers/nvdimm/bus.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfA- 212 +-+-+-+-+-+-- +AKA-drivers/nvdimm/claim.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-7 +-- +AKA-drivers/nvdimm/core.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHw- 253 +-+-+-+----- +AKA-drivers/nvdimm/dimm+AF8-devs.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-5 +-- +AKA-drivers/nvdimm/e820.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-1 +- +AKA-drivers/nvdimm/nd-core.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-5 +-- +AKA-drivers/nvdimm/nd.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoA-10 +-- +AKA-drivers/nvdimm/pmem.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-85 +--- +AKA-drivers/nvdimm/pmem.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-24 +- +AKA-drivers/nvdimm/region.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-19 +-- +AKA-drivers/nvdimm/region+AF8-devs.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8- 154 +-+-+-+-- +AKA-drivers/s390/block/dcssblk.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-6 +-- +AKA-fs/dax.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-13 +-- +AKA-include/linux/blkdev.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-6 +-- +AKA-include/linux/compiler.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-2 - +AKA-include/linux/libnvdimm.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoA-24 +-- +AKA-include/linux/nd.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-3 +-- +AKA-include/linux/pfn+AF8-t.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-5 +-- +AKA-include/linux/pmem.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfA- 117 +---- +AKA-include/uapi/linux/ndctl.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-1 +- +AKA-kernel/memremap.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-6 - +AKA-scripts/checkpatch.pl+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACgAKA-1 - +AKA-tools/objtool/arch/x86/insn/x86-opcode-map.txt+AKAAoACgAKAAoAB8AKAAoACg-2 +-- +AKA-tools/perf/arch/x86/tests/insn-x86-dat-32.c+AKAAoACgAKAAoACgAKAAoAB8AKAAoACg-2 - +AKA-tools/perf/arch/x86/tests/insn-x86-dat-64.c+AKAAoACgAKAAoACgAKAAoAB8AKAAoACg-2 - +AKA-tools/perf/arch/x86/tests/insn-x86-dat-src.c+AKAAoACgAKAAoACgAKAAfACgAKAAoA-4 - +AKA-.../perf/util/intel-pt-decoder/x86-opcode-map.txt+AKAAoAB8AKAAoACg-2 +-- +AKA-tools/testing/nvdimm/Kbuild+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-10 +-- +AKA-tools/testing/nvdimm/config+AF8-check.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-1 +- +AKA-tools/testing/nvdimm/pmem-dax.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoA-54 +-+- +AKA-tools/testing/nvdimm/test/Kbuild+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKAAoA-2 +-- +AKA-tools/testing/nvdimm/test/iomap.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAHwAoACg-38 +-- +AKA-tools/testing/nvdimm/test/nfit.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfA- 199 +-+-+----- +AKA-tools/testing/nvdimm/test/nfit+AF8-test.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoACg-2 +- +AKA-59 files changed, 1369 insertions(+-), 1009 deletions(-) +AKA-create mode 100644 drivers/acpi/nfit/Kconfig +AKA-create mode 100644 drivers/acpi/nfit/Makefile +AKA-rename drivers/acpi/+AHs-nfit.c +AD0APg- nfit/core.c+AH0- (87+ACU-) +AKA-create mode 100644 drivers/acpi/nfit/mce.c +AKA-rename drivers/acpi/+AHs- +AD0APg- nfit+AH0-/nfit.h (82+ACU-) +AKA-create mode 100644 drivers/nvdimm/pmem.h +AKA-create mode 100644 tools/testing/nvdimm/pmem-dax.c-- 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