On Wed, Dec 9, 2015 at 6:38 PM, Dan Williams <dan.j.williams@xxxxxxxxx> wrote: > In support of providing struct page for large persistent memory > capacities, use struct vmem_altmap to change the default policy for > allocating memory for the memmap array. The default vmemmap_populate() > allocates page table storage area from the page allocator. Given > persistent memory capacities relative to DRAM it may not be feasible to > store the memmap in 'System Memory'. Instead vmem_altmap represents > pre-allocated "device pages" to satisfy vmemmap_alloc_block_buf() > requests. > > Cc: x86@xxxxxxxxxx > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Cc: Ingo Molnar <mingo@xxxxxxxxxx> > Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> > Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Reported-by: kbuild test robot <lkp@xxxxxxxxx> > Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> > --- > arch/m68k/include/asm/page_mm.h | 1 > arch/m68k/include/asm/page_no.h | 1 > arch/mn10300/include/asm/page.h | 1 > arch/x86/mm/init_64.c | 32 +++++++++++--- > drivers/nvdimm/pmem.c | 6 ++- > include/linux/memory_hotplug.h | 3 + > include/linux/mm.h | 92 +++++++++++++++++++++++++++++++++++++-- > kernel/memremap.c | 61 +++++++++++++++++++++++++- > mm/memory_hotplug.c | 66 ++++++++++++++++++++-------- > mm/page_alloc.c | 10 ++++ > mm/sparse-vmemmap.c | 37 +++++++++++++++- > mm/sparse.c | 8 ++- > 12 files changed, 277 insertions(+), 41 deletions(-) Ingo, since you've shown interest in the nvdimm enabling in the past, may I ask to look over the x86 touches in this set? I believe Andrew is waiting on Acked-by's to move this forward. These patches: [-mm PATCH v2 11/25] x86, mm: introduce vmem_altmap to augment vmemmap_populate() [-mm PATCH v2 16/25] x86, mm: introduce _PAGE_DEVMAP [-mm PATCH v2 23/25] mm, x86: get_user_pages() for dax mappings -- 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>