[PATCH 00/13] deprecate pcommit

From: Dan Williams
Date: Sat Jun 04 2016 - 16:53:28 EST


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(-)