linux/drivers/nvdimm
Dan Williams 762d067dba libnvdimm, namespace: enable allocation of multiple pmem namespaces
Now that we have nd_region_available_dpa() able to handle the presence
of multiple PMEM allocations in aliased PMEM regions, reuse that same
infrastructure to track allocations from free space.  In particular
handle allocating from an aliased PMEM region in the case where there
are dis-contiguous holes.  The allocation for BLK and PMEM are
documented in the space_valid() helper:

    BLK-space is valid as long as it does not precede a PMEM
    allocation in a given region. PMEM-space must be contiguous
    and adjacent to an existing existing allocation (if one
    exists).

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2016-10-07 09:22:53 -07:00
..
blk.c libnvdimm for 4.8 2016-07-28 17:38:16 -07:00
btt_devs.c nvdimm, btt: add a size attribute for BTTs 2016-08-08 09:26:14 -07:00
btt.c nvdimm, btt: add a size attribute for BTTs 2016-08-08 09:26:14 -07:00
btt.h libnvdimm, btt: consolidate arena validation 2015-08-14 13:43:04 -04:00
bus.c libnvdimm: clear the internal poison_list when clearing badblocks 2016-09-30 17:03:45 -07:00
claim.c libnvdimm, pmem: use nvdimm_flush() for namespace I/O writes 2016-07-12 15:13:48 -07:00
core.c libnvdimm: clear the internal poison_list when clearing badblocks 2016-09-30 17:03:45 -07:00
dax_devs.c libnvdimm, dax: autodetect support 2016-05-20 22:02:57 -07:00
dimm_devs.c libnvdimm, namespace: enable allocation of multiple pmem namespaces 2016-10-07 09:22:53 -07:00
dimm.c libnvdimm: Fix nvdimm_probe error on NVDIMM-N 2016-09-01 18:20:39 -07:00
e820.c libnvdimm: move ->module to struct nvdimm_bus_descriptor 2016-07-21 20:03:19 -07:00
Kconfig libnvdimm: introduce devm_nvdimm_memremap(), convert nfit_spa_map() users 2016-07-07 17:11:09 -07:00
label.c libnvdimm, namespace: update label implementation for multi-pmem 2016-10-07 09:22:53 -07:00
label.h libnvdimm: write blk label set 2015-06-24 21:24:10 -04:00
Makefile libnvdimm, dax: introduce device-dax infrastructure 2016-05-09 15:35:42 -07:00
namespace_devs.c libnvdimm, namespace: enable allocation of multiple pmem namespaces 2016-10-07 09:22:53 -07:00
nd-core.h libnvdimm, namespace: enable allocation of multiple pmem namespaces 2016-10-07 09:22:53 -07:00
nd.h libnvdimm, label: convert label tracking to a linked list 2016-09-30 19:13:42 -07:00
pfn_devs.c libnvdimm, pfn, dax: fix initialization vs autodetect for mode + alignment 2016-06-23 17:50:39 -07:00
pfn.h libnvdimm, dax: autodetect support 2016-05-20 22:02:57 -07:00
pmem.c pmem: reduce kmap_atomic sections to the memcpys only 2016-09-30 17:03:45 -07:00
pmem.h pmem: kill __pmem address space 2016-07-12 19:25:38 -07:00
region_devs.c libnvdimm, region: update nd_region_available_dpa() for multi-pmem support 2016-10-07 09:20:53 -07:00
region.c libnvdimm: keep region data alive over namespace removal 2016-07-11 16:13:41 -07:00