[<prev] [next>] [day] [month] [year] [list]
Message-ID: <1469683980.5271.0.camel@intel.com>
Date: Thu, 28 Jul 2016 05:33:00 +0000
From: "Williams, Dan J" <dan.j.williams@...el.com>
To: "torvalds@...ux-foundation.org" <torvalds@...ux-foundation.org>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-nvdimm@...ts.01.org" <linux-nvdimm@...ts.01.org>,
"linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>
Subject: [GIT PULL] libnvdimm for 4.8
Hi Linus, please pull from:
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 __pmem address space has been removed. New usages of __pmem
came in through the DM tree this cycle.
2/ A minor conflict in the pmem driver with the device_add_disk()
changes that came in through the block layer.
3/ The removal of pcommit collided with new enabling in KVM. At the
time of writing you have not yet merged the KVM tree.
A test resolution for 1 and 2 is available here:
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:
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:
nfit: make DIMM DSMs optional (2016-07-19 12:32:39 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/libnvdimm-for-4.8
for you to fetch changes up to 0606263f24f3d64960de742c55894190b5df903b:
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:
The pcommit instruction, which has not shipped on any product, is
deprecated. Instead, the requirement is that platforms implement either
ADR, or provide one or more flush addresses per nvdimm. ADR
(Asynchronous DRAM Refresh) flushes data in posted write buffers to the
memory controller on a power-fail event. Flush addresses are defined in
ACPI 6.x as an NVDIMM Firmware Interface Table (NFIT) sub-structure:
"Flush Hint Address Structure". A flush hint is an mmio address that
when written and fenced assures that all previous posted writes
targeting a given dimm have been flushed to media.
2/ On-demand ARS (address range scrub):
Linux uses the results of the ACPI ARS commands to track bad blocks
in pmem devices. When latent errors are detected we re-scrub the media
to refresh the bad block list, userspace can also request a re-scrub at
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):
libnvdimm: use devm_add_action_or_reset()
libnvdimm: IS_ERR() usage cleanup
tools/testing/nvdimm: add pfn device dependency
libnvdimm, pmem: allow nfit_test to override pmem_direct_access()
tools/testing/nvdimm: replace CONFIG_DMA_CMA dependency with vmalloc()
tools/testing/nvdimm: remove __wrap_devm_memremap_pages placeholder
nfit: always associate flush hints
nfit: don't override return value of nfit_mem_init
libnvdimm: introduce devm_nvdimm_memremap(), convert nfit_spa_map() users
libnvdimm, nfit: remove nfit_spa_map() infrastructure
libnvdimm, nfit: move flush hint mapping to region-device driver-data
tools/testing/nvdimm: simulate multiple flush hints per-dimm
libnvdimm: keep region data alive over namespace removal
libnvdimm: introduce nvdimm_flush() and nvdimm_has_flush()
libnvdimm: cycle flush hints
libnvdimm, pmem: use REQ_FUA, REQ_FLUSH for nvdimm_flush()
libnvdimm, pmem: flush posted-write queues on shutdown
fs/dax: remove wmb_pmem()
libnvdimm, pmem: use nvdimm_flush() for namespace I/O writes
pmem: kill wmb_pmem()
pmem: kill __pmem address space
tools/testing/nvdimm: add virtual ramdisk range
tools/testing/nvdimm: add manufacturing_{date|location} dimm properties
nfit: fix _FIT evaluation memory leak + use after free
nfit: cleanup acpi_nfit_init calling convention
libnvdimm: move ->module to struct nvdimm_bus_descriptor
nfit, tools/testing/nvdimm/: unify shutdown paths
Revert "KVM: x86: add pcommit support"
x86/insn: remove pcommit
libnvdimm: register nvdimm_bus devices with an nd_bus driver
nfit: move to nfit/ sub-directory
Merge branch 'for-4.8/libnvdimm' into libnvdimm-for-next
Johannes Thumshirn (1):
libnvdimm: initialize struct blk_integrity with 0
Lee, Chun-Yi (1):
acpi, nfit: treat virtual ramdisk SPA as pmem region
Markus Elfring (1):
libnvdimm-btt: Delete an unnecessary check before the function call "__nd_device_register"
Sajjan, Vikas C (2):
nfit: use devm_add_action_or_reset()
dax: use devm_add_action_or_reset()
Vishal Verma (4):
libnvdimm, btt: update the usage section in Documentation
pmem: clarify a debug print in pmem_clear_poison
nfit, libnvdimm: allow an ARS scrub to be triggered on demand
nfit: do an ARS scrub on hitting a latent media error
stuart hayes (1):
nfit: add Microsoft NVDIMM DSM command set to white list
Documentation/filesystems/Locking | 2 +-
Documentation/nvdimm/btt.txt | 28 +-
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/Kconfig | 27 +-
drivers/acpi/Makefile | 2 +-
drivers/acpi/nfit/Kconfig | 26 +
drivers/acpi/nfit/Makefile | 3 +
drivers/acpi/{nfit.c => nfit/core.c} | 647 ++++++++++++---------
drivers/acpi/nfit/mce.c | 89 +++
drivers/acpi/{ => nfit}/nfit.h | 60 +-
drivers/block/brd.c | 4 +-
drivers/dax/dax.c | 6 +-
drivers/dax/pmem.c | 14 +-
drivers/nvdimm/Kconfig | 2 +-
drivers/nvdimm/blk.c | 11 +-
drivers/nvdimm/btt_devs.c | 3 +-
drivers/nvdimm/bus.c | 212 ++++++-
drivers/nvdimm/claim.c | 7 +-
drivers/nvdimm/core.c | 253 ++++----
drivers/nvdimm/dimm_devs.c | 5 +-
drivers/nvdimm/e820.c | 1 +
drivers/nvdimm/nd-core.h | 5 +-
drivers/nvdimm/nd.h | 10 +-
drivers/nvdimm/pmem.c | 85 +--
drivers/nvdimm/pmem.h | 24 +
drivers/nvdimm/region.c | 19 +-
drivers/nvdimm/region_devs.c | 154 ++++-
drivers/s390/block/dcssblk.c | 6 +-
fs/dax.c | 13 +-
include/linux/blkdev.h | 6 +-
include/linux/compiler.h | 2 -
include/linux/libnvdimm.h | 24 +-
include/linux/nd.h | 3 +-
include/linux/pfn_t.h | 5 +-
include/linux/pmem.h | 117 +---
include/uapi/linux/ndctl.h | 1 +
kernel/memremap.c | 6 -
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/Kbuild | 10 +-
tools/testing/nvdimm/config_check.c | 1 +
tools/testing/nvdimm/pmem-dax.c | 54 ++
tools/testing/nvdimm/test/Kbuild | 2 +-
tools/testing/nvdimm/test/iomap.c | 38 +-
tools/testing/nvdimm/test/nfit.c | 199 +++----
tools/testing/nvdimm/test/nfit_test.h | 2 +
59 files changed, 1369 insertions(+), 1009 deletions(-)
create mode 100644 drivers/acpi/nfit/Kconfig
create mode 100644 drivers/acpi/nfit/Makefile
rename drivers/acpi/{nfit.c => nfit/core.c} (87%)
create mode 100644 drivers/acpi/nfit/mce.c
rename drivers/acpi/{ => nfit}/nfit.h (82%)
create mode 100644 drivers/nvdimm/pmem.h
create mode 100644 tools/testing/nvdimm/pmem-dax.c
Powered by blists - more mailing lists