On Tue, Mar 1, 2016 at 12:31 AM, Vlastimil Babka <vbabka@xxxxxxx> wrote: > On 03/01/2016 03:06 AM, Dan Williams wrote: >> >> On Mon, Feb 29, 2016 at 4:06 PM, Vlastimil Babka <vbabka@xxxxxxx> wrote: >>> >>> On 29.2.2016 18:55, Dan Williams wrote: >>>> >>>> On Mon, Feb 29, 2016 at 4:33 AM, Vlastimil Babka <vbabka@xxxxxxx> wrote: >>>>> >>>>> On 02/02/2016 06:42 AM, Andrew Morton wrote: >>>> >>>> >>>> In this case it's already part of the equation because: >>>> >>>> config ZONE_DEVICE >>>> depends on MEMORY_HOTPLUG >>>> depends on MEMORY_HOTREMOVE >>>> >>>> ...and those in turn depend on SPARSEMEM. >>> >>> >>> Fine, but then SPARSEMEM_VMEMMAP should be still an available subvariant >>> of >>> SPARSEMEM with SECTION_WIDTH=0. >> >> >> It should be, but not for the ZONE_DEVICE case. ZONE_DEVICE depends >> on x86_64 which means ZONE_DEVICE also implies SPARSEMEM_VMEMMAP >> since: >> >> config ARCH_SPARSEMEM_ENABLE >> def_bool y >> depends on X86_64 || NUMA || X86_32 || X86_32_NON_STANDARD >> select SPARSEMEM_STATIC if X86_32 >> select SPARSEMEM_VMEMMAP_ENABLE if X86_64 >> >> Now, if a future patch wants to reclaim page flags space for other >> usages outside of ZONE_DEVICE it can do the work to handle the >> SPARSEMEM_VMEMMAP=n case. I don't see a reason to fold that >> distinction into the current patch given the current constraints. > > > OK so that IUUC shows that x86_64 should be always fine without decreasing > the range for NODES_SHIFT? That's basically my point - since there's a > configuration where things don't fit (32bit?), the patch broadly decreases > range for NODES_SHIFT for everyone, right? So I went hunting for the x86_64 config that sent me off in this direction in the first place, but I can't reproduce it. I'm indeed able to fit ZONE_DEVICE + ZONE_DMA + NODES_SHIFT(10) without overflowing page flags. Maybe we reduced some usage page->flags usage between 4.3 and 4.5 and I missed it? In any event, you're right we can indeed fit ZONE_DEVICE into the current MAXSMP definition. I'll respin the patch. Thanks for probing on this! -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>