On Mon, 9 Jul 2018 13:53:09 -0400 Pavel Tatashin <pasha.tatashin@xxxxxxxxxx> wrote: > In sparse_init() we allocate two large buffers to temporary hold usemap and > memmap for the whole machine. However, we can avoid doing that if we > changed sparse_init() to operated on per-node bases instead of doing it on > the whole machine beforehand. > > As shown by Baoquan > http://lkml.kernel.org/r/20180628062857.29658-1-bhe@xxxxxxxxxx > > The buffers are large enough to cause machine stop to boot on small memory > systems. > > These patches should be applied on top of Baoquan's work, as > CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER is removed in that work. > > For the ease of review, I split this work so the first patch only adds new > interfaces, the second patch enables them, and removes the old ones. This clashes pretty significantly with patches from Baoquan and Oscar: mm-sparse-make-sparse_init_one_section-void-and-remove-check.patch mm-sparse-make-sparse_init_one_section-void-and-remove-check-fix.patch mm-sparse-make-sparse_init_one_section-void-and-remove-check-fix-2.patch mm-sparse-add-a-static-variable-nr_present_sections.patch mm-sparsemem-defer-the-ms-section_mem_map-clearing.patch mm-sparse-add-a-new-parameter-data_unit_size-for-alloc_usemap_and_memmap.patch Is there duplication of intent here? Any thoughts on the prioritization of these efforts?