Based on Greg's comment, cc it to mm list. The original thread could be found https://lkml.org/lkml/2017/6/7/202 The second parameter of init_memory_block() is used to calculate the start_section_nr of this block, which means any section in the same block would get the same start_section_nr. This patch passes the base_section to init_memory_block(), so that to reduce a local variable and a check in every loop. Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx> --- drivers/base/memory.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/base/memory.c b/drivers/base/memory.c index cc4f1d0cbffe..1e903aba2aa1 100644 --- a/drivers/base/memory.c +++ b/drivers/base/memory.c @@ -664,21 +664,20 @@ static int init_memory_block(struct memory_block **memory, static int add_memory_block(int base_section_nr) { struct memory_block *mem; - int i, ret, section_count = 0, section_nr; + int i, ret, section_count = 0; for (i = base_section_nr; (i < base_section_nr + sections_per_block) && i < NR_MEM_SECTIONS; i++) { if (!present_section_nr(i)) continue; - if (section_count == 0) - section_nr = i; section_count++; } if (section_count == 0) return 0; - ret = init_memory_block(&mem, __nr_to_section(section_nr), MEM_ONLINE); + ret = init_memory_block(&mem, __nr_to_section(base_section_nr), + MEM_ONLINE); if (ret) return ret; mem->section_count = section_count; -- 2.11.0 -- 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>