Platforms supporting NVDIMMs are now required to provide persistence guarantees once pmem stores are accepted by the memory subsystem. This is usually achieved by a platform-level feature known as ADR (Asynchronous DRAM Refresh) that flushes any memory subsystem write pending queues on power loss/shutdown.
The 'pcommit' instruction (which has not shipped on any product) is no longer needed and is deprecated. --- Dan Williams (13): driver core, libnvdimm: disable manual unbind of dimms while region active nfit: always associate flush hints libnvdimm: introduce nvdimm_flush() libnvdimm, nfit: move flush hint mapping to dimm driver tools/testing/nvdimm: simulate multiple flush hints per-dimm libnvdimm: cycle flush hints per-cpu libnvdimm, pmem: use REQ_FUA, REQ_FLUSH for nvdimm_flush() fs/dax: remove wmb_pmem() libnvdimm, pmem: use nvdimm_flush() for namespace I/O writes pmem: kill wmb_pmem() Revert "KVM: x86: add pcommit support" x86/insn: remove pcommit pmem: kill __pmem address space Documentation/filesystems/Locking | 2 arch/powerpc/sysdev/axonram.c | 4 - arch/x86/include/asm/cpufeatures.h | 1 arch/x86/include/asm/pmem.h | 77 +++---------- arch/x86/include/asm/special_insns.h | 46 -------- arch/x86/include/asm/vmx.h | 1 arch/x86/include/uapi/asm/vmx.h | 4 - arch/x86/kvm/cpuid.c | 2 arch/x86/kvm/cpuid.h | 8 - arch/x86/kvm/vmx.c | 32 +---- arch/x86/lib/x86-opcode-map.txt | 2 drivers/acpi/nfit.c | 106 +++++++++++------- drivers/acpi/nfit.h | 3 - drivers/base/base.h | 1 drivers/base/bus.c | 12 ++ drivers/base/core.c | 1 drivers/base/dd.c | 2 drivers/block/brd.c | 4 - drivers/nvdimm/claim.c | 2 drivers/nvdimm/dimm.c | 7 + drivers/nvdimm/dimm_devs.c | 27 ++++- drivers/nvdimm/namespace_devs.c | 1 drivers/nvdimm/nd-core.h | 1 drivers/nvdimm/nd.h | 15 +++ drivers/nvdimm/pmem.c | 44 +++++--- drivers/nvdimm/region_devs.c | 74 ++++++++++++- drivers/s390/block/dcssblk.c | 6 + fs/dax.c | 13 +- include/linux/blkdev.h | 6 + include/linux/compiler.h | 2 include/linux/device.h | 20 +++ include/linux/libnvdimm.h | 10 ++ include/linux/nd.h | 2 include/linux/pmem.h | 117 ++++---------------- scripts/checkpatch.pl | 1 tools/objtool/arch/x86/insn/x86-opcode-map.txt | 2 tools/perf/arch/x86/tests/insn-x86-dat-32.c | 2 tools/perf/arch/x86/tests/insn-x86-dat-64.c | 2 tools/perf/arch/x86/tests/insn-x86-dat-src.c | 4 - .../perf/util/intel-pt-decoder/x86-opcode-map.txt | 2 tools/testing/nvdimm/test/nfit.c | 55 ++++++--- 41 files changed, 357 insertions(+), 366 deletions(-)