FAILED: patch "[PATCH] libnvdimm, pfn: Pad pfn namespaces relative to other regions" failed to apply to 4.9-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
ae86cbfef3818300f1972e52f67a93211acb0e24Mon Sep 17 00:00:00 2001
From: Dan Williams <[email protected]>
Date: Sat, 24 Nov 2018 10:47:04 -0800
Subject: [PATCH] libnvdimm, pfn: Pad pfn namespaces relative to other regions
Commit cfe30b872058 "libnvdimm, pmem: adjust for section collisions with 'System RAM'" enabled Linux to workaround occasions where platform firmware arranges for "System RAM" and "Persistent Memory" to collide within a single section boundary. Unfortunately, as reported in this issue [1], platform firmware can inflict the same collision between persistent memory regions.
The approach of interrogating iomem_resource does not work in this case because platform firmware may merge multiple regions into a single iomem_resource range. Instead provide a method to interrogate regions that share the same parent bus.
This is a stop-gap until the core-MM can grow support for hotplug on sub-section boundaries.
[1]: https://github.com/pmem/ndctl/issues/76
drivers/nvdimm/nd-core.h +2 -0
@@ -111,6 +111,8 @@ resource_size_t nd_pmem_available_dpa(struct nd_region *nd_region, struct nd_mapping *nd_mapping, resource_size_t *overlap);resource_size_t nd_blk_available_dpa (struct nd_region *nd_region);resource_size_t nd_region_available_dpa (struct nd_region *nd_region); +int nd_region_conflict (struct nd_region *nd_region,resource_size_t start, +resource_size_t size);resource_size_t nvdimm_allocated_dpa (struct nvdimm_drvdata *ndd,struct nd_label_id *label_id);int alias_dpa_busy (struct device *dev,void *data);
drivers/nvdimm/pfn_devs.c +37 -27
88 lines not on this page · raw message
drivers/nvdimm/region_devs.c +41 -0
47 lines not on this page · raw message