Re: [PATCH v4 2/4] mm/sparsemem: Defer the ms->section_mem_map clearing

From: Dave Hansen
Date: Thu Jun 07 2018 - 18:48:36 EST


On 05/21/2018 03:15 AM, Baoquan He wrote:
> In sparse_init(), if CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y, system
> will allocate one continuous memory chunk for mem maps on one node and
> populate the relevant page tables to map memory section one by one. If
> fail to populate for a certain mem section, print warning and its
> ->section_mem_map will be cleared to cancel the marking of being present.
> Like this, the number of mem sections marked as present could become
> less during sparse_init() execution.
>
> Here just defer the ms->section_mem_map clearing if failed to populate
> its page tables until the last for_each_present_section_nr() loop. This
> is in preparation for later optimizing the mem map allocation.
>
> Signed-off-by: Baoquan He <bhe@xxxxxxxxxx>

Acked-By: Dave Hansen <dave.hansen@xxxxxxxxx>