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

Reply via email to