mm, memory_hotplug: remove explicit build_all_zonelists from try_online_node
authorMichal Hocko <mhocko@suse.com>
Wed, 6 Sep 2017 23:20:27 +0000 (16:20 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 7 Sep 2017 00:27:26 +0000 (17:27 -0700)
try_online_node calls hotadd_new_pgdat which already calls
build_all_zonelists.  So the additional call is redundant.  Even though
hotadd_new_pgdat will only initialize zonelists of the new node this is
the right thing to do because such a node doesn't have any memory so
other zonelists would ignore all the zones from this node anyway.

Link: http://lkml.kernel.org/r/20170721143915.14161-6-mhocko@kernel.org
Signed-off-by: Michal Hocko <mhocko@suse.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Toshi Kani <toshi.kani@hpe.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Joonsoo Kim <js1304@gmail.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/memory_hotplug.c

index c4df7d3c64d1ce4c23eb116767d3c520bcfbc51c..2f0c7ebc76249dce853445c6373231bbd17a4c7b 100644 (file)
@@ -1081,13 +1081,6 @@ int try_online_node(int nid)
        node_set_online(nid);
        ret = register_one_node(nid);
        BUG_ON(ret);
-
-       if (pgdat->node_zonelists->_zonerefs->zone == NULL) {
-               mutex_lock(&zonelists_mutex);
-               build_all_zonelists(NULL);
-               mutex_unlock(&zonelists_mutex);
-       }
-
 out:
        mem_hotplug_done();
        return ret;