On Mon, Jan 25, 2016 at 04:06:40PM -0800, Dan Williams wrote:
It appears devices requiring ZONE_DMA are still prevalent (see link
below). For this reason the proposal to require turning off ZONE_DMA to
enable ZONE_DEVICE is untenable in the short term. We want a single
kernel image to be able to support legacy devices as well as next
generation persistent memory platforms.
Towards this end, alias ZONE_DMA and ZONE_DEVICE to work around needing
to maintain a unique zone number for ZONE_DEVICE. Record the geometry
of ZONE_DMA at init (->init_spanned_pages) and use that information in
is_zone_device_page() to differentiate pages allocated via
devm_memremap_pages() vs true ZONE_DMA pages. Otherwise, use the
simpler definition of is_zone_device_page() when ZONE_DMA is turned off.
Note that this also teaches the memory hot remove path that the zone may
not have sections for all pfn spans (->zone_dyn_start_pfn).
A user visible implication of this change is potentially an unexpectedly
high "spanned" value in /proc/zoneinfo for the DMA zone.
Cc: H. Peter Anvin <hpa(a)zytor.com>
Cc: Ingo Molnar <mingo(a)redhat.com>
Cc: Rik van Riel <riel(a)redhat.com>
Cc: Mel Gorman <mgorman(a)suse.de>
Cc: Jerome Glisse <j.glisse(a)gmail.com>
Cc: Christoph Hellwig <hch(a)lst.de>
Cc: Dave Hansen <dave.hansen(a)linux.intel.com>
Fixes: 033fbae988fc ("mm: ZONE_DEVICE for "device memory"")
Reported-by: Sudip Mukherjee <sudipm.mukherjee(a)gmail.com>
It should actually be Reported-by: Mark <markk(a)clara.co.uk>
Can you please test this patch available at https://patchwork.kernel.org/patch/8116991/
in your setup..