On Mon, Aug 17, 2015 at 2:45 PM, Jerome Glisse <j.glisse(a)gmail.com> wrote:
On Fri, Aug 14, 2015 at 07:11:27PM -0700, Dan Williams wrote:
> Although it does not offer perfect protection if device memory is at a
> physically lower address than RAM, skipping the update of these
> variables does seem to be what we want. For example /dev/mem would
> fail to allow write access to persistent memory if it fails a
> valid_phys_addr_range() check. Since /dev/mem does not know how to
> write to PMEM in a reliably persistent way, it should not treat a
> PMEM-pfn like RAM.
So i attach is a patch that should keep ZONE_DEVICE out of consideration
for the buddy allocator. You might also want to keep page reserved and not
free inside the zone, you could replace the generic_online_page() using
set_online_page_callback() while hotpluging device memory.
Hmm, are we already protected by the fact that ZONE_DEVICE is not
represented in the GFP_ZONEMASK?