Re: [PATCH v4 0/3] sparse_init rewrite

From: Andrew Morton
Date: Mon Jul 09 2018 - 17:29:35 EST


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?