[PATCH v2 0/3] libnvdimm, pfn: support section misaligned pmem

From: Dan Williams
Date: Thu Mar 03 2016 - 16:53:31 EST


Permit platforms with section-misaligned persistent memory to establish
memory-mode (pfn) namespaces. This sacrifices 64-128MB of pmem to gain
third-party DMA/RDMA support.

Changes since v1 [1]:

1/ Dropped "mm: fix mixed zone detection in devm_memremap_pages" since
it was pulled into Andrew's tree.

2/ Moved CONFIG_SPARSEMEM #ifdef guards into drivers/nvdimm/pfn.h

3/ Added "libnvdimm, pmem: adjust for section collisions with 'System
RAM'", i.e. support for reserving head and tail capacity out of a
namespace to permit a section aligned range to be used for a
'pfn'-device instance.

4/ Added 'resource' and 'size' attributes to an active pfn instance.

[1]: https://lists.01.org/pipermail/linux-nvdimm/2016-February/004727.html

This series is built on top of tip.git/core/resources.

---

Dan Williams (3):
libnvdimm, pmem: fix 'pfn' support for section-misaligned namespaces
libnvdimm, pmem: adjust for section collisions with 'System RAM'
libnvdimm, pfn: 'resource'-address and 'size' attributes for pfn devices


drivers/nvdimm/namespace_devs.c | 7 ++
drivers/nvdimm/pfn.h | 23 ++++++
drivers/nvdimm/pfn_devs.c | 61 ++++++++++++++++
drivers/nvdimm/pmem.c | 145 ++++++++++++++++++++++++++++++---------
4 files changed, 200 insertions(+), 36 deletions(-)