On Mon, Jan 25, 2016 at 10:00 PM, Sudip Mukherjee <[email protected]> wrote: > 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 <[email protected]> >> Cc: Ingo Molnar <[email protected]> >> Cc: Rik van Riel <[email protected]> >> Cc: Mel Gorman <[email protected]> >> Cc: Jerome Glisse <[email protected]> >> Cc: Christoph Hellwig <[email protected]> >> Cc: Dave Hansen <[email protected]> >> Link: https://bugzilla.kernel.org/show_bug.cgi?id=110931 >> Fixes: 033fbae988fc ("mm: ZONE_DEVICE for "device memory"") >> Reported-by: Sudip Mukherjee <[email protected]> > > It should actually be Reported-by: Mark <[email protected]> > > Hi Mark, > Can you please test this patch available at > https://patchwork.kernel.org/patch/8116991/ > in your setup..
Note this patch is on top of 4.5-rc1 and is likely not a suitable for -stable backport to 4.3/4.4. For 4.3 and 4.4, distributions that want to support legacy devices should leave ZONE_DEVICE disabled as it is by default.

