libnvdimm, pmem: 'struct page' for pmem
authorDan Williams <dan.j.williams@intel.com>
Sat, 1 Aug 2015 06:16:37 +0000 (02:16 -0400)
committerDan Williams <dan.j.williams@intel.com>
Sat, 29 Aug 2015 03:40:04 +0000 (23:40 -0400)
commit32ab0a3f51701cb37ab960635254d5f84ec3de0a
tree5e6ff1b400f4f1c42c7aecc76234f007d70e6a25
parente1455744b27c9e6115c3508a7b2902157c2c4347
libnvdimm, pmem: 'struct page' for pmem

Enable the pmem driver to handle PFN device instances.  Attaching a pmem
namespace to a pfn device triggers the driver to allocate and initialize
struct page entries for pmem.  Memory capacity for this allocation comes
exclusively from RAM for now which is suitable for low PMEM to RAM
ratios.  This mechanism will be expanded later for setting an "allocate
from PMEM" policy.

Cc: Boaz Harrosh <boaz@plexistor.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/nvdimm/Kconfig
drivers/nvdimm/nd.h
drivers/nvdimm/pfn_devs.c
drivers/nvdimm/pmem.c
tools/testing/nvdimm/Kbuild
tools/testing/nvdimm/test/iomap.c