]> www.infradead.org Git - users/jedix/linux-maple.git/commit
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 Duval <dan.duval@oracle.com>
Wed, 7 Dec 2016 17:19:31 +0000 (12:19 -0500)
commit7db16b97078ef3bc89afc21b64d96eea43038f3a
treeb71e573891c5e0eea561477e884b20721b819359
parent3104c29071cd345ba837e58caa5e1e99c52b355e
libnvdimm, pmem: 'struct page' for pmem

Orabug: 22913653

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.

Note: I've renamed the parameter "size" of routine
"pmem_direct_access()" to "not_used".  This parameter was not being used
by any caller, so upstream removed it, but UEK needed to retain it to
maintain kABI compatibility.  In this commit, though, upstream added
a local variable called "size", which caused a name conflict with the
parameter.  - ldd

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>
(cherry picked from commit 32ab0a3f51701cb37ab960635254d5f84ec3de0a)
Signed-off-by: Dan Duval <dan.duval@oracle.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