The patch titled Subject: mm: be more verbose about zonelist initialization has been added to the -mm tree. Its filename is mm-be-more-verbose-about-zonelist-initialization.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/mm-be-more-verbose-about-zonelist-initialization.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/mm-be-more-verbose-about-zonelist-initialization.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/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Michal Hocko <mhocko@xxxxxxxx> Subject: mm: be more verbose about zonelist initialization We have seen several bugs where zonelists have not been initialized properly and it is not really straightforward to track those bugs down. One way to help a bit at least is to dump zonelists of each node when they are (re)initialized. Link: http://lkml.kernel.org/r/20190213094315.3504-1-mhocko@xxxxxxxxxx Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Reviewed-by: Mike Rapoport <rppt@xxxxxxxxxxxxx> Reviewed-by: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Pingfan Liu <kernelfans@xxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/page_alloc.c | 7 +++++++ 1 file changed, 7 insertions(+) --- a/mm/page_alloc.c~mm-be-more-verbose-about-zonelist-initialization +++ a/mm/page_alloc.c @@ -5530,6 +5530,8 @@ static void build_zonelists(pg_data_t *p int node, load, nr_nodes = 0; nodemask_t used_mask; int local_node, prev_node; + struct zone *zone; + struct zoneref *z; /* NUMA-aware ordering of nodes */ local_node = pgdat->node_id; @@ -5555,6 +5557,11 @@ static void build_zonelists(pg_data_t *p build_zonelists_in_node_order(pgdat, node_order, nr_nodes); build_thisnode_zonelists(pgdat); + + pr_info("node[%d] zonelist: ", pgdat->node_id); + for_each_zone_zonelist(zone, z, &pgdat->node_zonelists[ZONELIST_FALLBACK], MAX_NR_ZONES-1) + pr_cont("%d:%s ", zone_to_nid(zone), zone->name); + pr_cont("\n"); } #ifdef CONFIG_HAVE_MEMORYLESS_NODES _ Patches currently in -mm which might be from mhocko@xxxxxxxx are mm-memory_hotplug-cleanup-memory-offline-path.patch mm-memory_hotplug-provide-a-more-generic-restrictions-for-memory-hotplug.patch x86-numa-always-initialize-all-possible-nodes.patch mm-be-more-verbose-about-zonelist-initialization.patch