Re: [PATCH 0/2] Enable ZONE_DEVICE on POWER
From: Anshuman Khandual <hidden>
Date: 2016-05-10 07:12:22
On 05/08/2016 11:07 PM, Aneesh Kumar K.V wrote:
oliver [off-list ref] writes:quoted
quoted
Hi, I've been working on kernel support for a persistent memory (nvdimm) device and the kernel driver infrastructure requires ZONE_DEVICE for DAX support.. I've had it enabled in my tree for some time (without altmap support) without any real issues.IIUC a DAX usage of pmem doesn't really need ZONE_DEVICE. It is only for struct page backing to those pmem area we need ZONE_DEVICE.quoted
quoted
I wasn't planning on upstreaming any of my changes until 4.8 at the earliest so I am ok with carrying these patches myself. However, there has been some interest in using ZONE_DEVICE for other things on ppc (wasn't that you?) and given that ZONE_DEVICE is gated behind CONFIG_EXPERT I can't see there being any kind of negative impact on end users by merging it now. At the very least it lets the rest of the kernel development community know that changes affecting zones should also be tested on powerpc.A partially done patch like that will miss quiet a lot details. For example if I look at the x86 changes related to altmap (4b94ffdc4163bae1e ("x86, mm: introduce vmem_altmap to augment vmemmap_populate")) i see them handling pagetable free and memory hotplug. This patch doesn't do any of those. From the commit message it is also not clear how we intent to use those zone device memory on ppc64. If we say they will not get hotplugged out or they will never be part of page table then those changes I mentioned above are really not needed. But the patch is missing a lot of those details.
Right. The current patch just enables ZONE_DEVICE with vmem_altmap support (so that struct pages can be allocated in the device range instead of system RAM) where any driver can own the rest of the PFNs for its use. Right now these PFNs will not make into process page table. I can update the commit message with these details if you like.