The patch titled Subject: mm/memory_hotplug: just build zonelist for newly added node has been added to the -mm tree. Its filename is mm-memory_hotplug-just-build-zonelist-for-new-added-node.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/mm-memory_hotplug-just-build-zonelist-for-new-added-node.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/mm-memory_hotplug-just-build-zonelist-for-new-added-node.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Wei Yang <richard.weiyang@xxxxxxxxx> Subject: mm/memory_hotplug: just build zonelist for newly added node 9adb62a5df9c0fbef7 ("mm/hotplug: correctly setup fallback zonelists when creating new pgdat") tries to build the correct zonelist for a newly added node, while it is not necessary to rebuild it for already exist nodes. In build_zonelists(), it will iterate on nodes with memory. For a newly added node, it will have memory until node_states_set_node() is called in online_pages(). This patch avoids rebuilding the zonelists for already existing nodes. Link: http://lkml.kernel.org/r/20170626035822.50155-1-richard.weiyang@xxxxxxxxx Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Jiang Liu <liuj97@xxxxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/page_alloc.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff -puN mm/page_alloc.c~mm-memory_hotplug-just-build-zonelist-for-new-added-node mm/page_alloc.c --- a/mm/page_alloc.c~mm-memory_hotplug-just-build-zonelist-for-new-added-node +++ a/mm/page_alloc.c @@ -5205,15 +5205,17 @@ static int __build_all_zonelists(void *d memset(node_load, 0, sizeof(node_load)); #endif - if (self && !node_online(self->node_id)) { + /* This node is hotadded and no memory preset yet. + * So just build zonelists is fine, no need to touch other nodes. + */ + if (self && !node_online(self->node_id)) build_zonelists(self); - } + else + for_each_online_node(nid) { + pg_data_t *pgdat = NODE_DATA(nid); - for_each_online_node(nid) { - pg_data_t *pgdat = NODE_DATA(nid); - - build_zonelists(pgdat); - } + build_zonelists(pgdat); + } /* * Initialize the boot_pagesets that are going to be used _ Patches currently in -mm which might be from richard.weiyang@xxxxxxxxx are mm-slub-remove-a-redundant-assignment-in-___slab_alloc.patch mm-slub-reset-cpu_slabs-pointer-in-deactivate_slab.patch mm-slub-pack-red_left_pad-with-another-int-to-save-a-word.patch mm-slub-wrap-cpu_slab-partial-in-config_slub_cpu_partial.patch mm-slub-wrap-kmem_cache-cpu_partial-in-config-config_slub_cpu_partial.patch mm-nobootmem-return-0-when-start_pfn-equals-end_pfn.patch mm-memory_hotplug-do-not-associate-hotadded-memory-to-zones-until-online-fix.patch mm-memory_hotplug-do-not-associate-hotadded-memory-to-zones-until-online-fix-2.patch mm-memory_hotplug-just-build-zonelist-for-new-added-node.patch mm-page_alloc-return-0-in-case-this-node-has-no-page-within-the-zone.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html