The patch titled Subject: mm/buddy: get the allownodes for dump at once has been added to the -mm tree. Its filename is mm-buddy-get-the-allownodes-for-dump-at-once.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: Gavin Shan <shangw@xxxxxxxxxxxxxxxxxx> Subject: mm/buddy: get the allownodes for dump at once When dumping the statistics for zones in the allowed nodes in the function show_free_areas(), skip_free_areas_node() got called for multiple times to figure out the same information: the allowed nodes for dump. It's reasonable to get the allowed nodes at once. That will also help to get consistent dump information. Signed-off-by: Gavin Shan <shangw@xxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Minchan Kim <minchan.kim@xxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/page_alloc.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff -puN mm/page_alloc.c~mm-buddy-get-the-allownodes-for-dump-at-once mm/page_alloc.c --- a/mm/page_alloc.c~mm-buddy-get-the-allownodes-for-dump-at-once +++ a/mm/page_alloc.c @@ -2763,11 +2763,19 @@ out: */ void show_free_areas(unsigned int filter) { - int cpu; + int nid, cpu; + nodemask_t allownodes; struct zone *zone; + /* Figure out the allowed nodes for dump */ + nodes_clear(allownodes); + for_each_online_node(nid) { + if (!skip_free_areas_node(filter, nid)) + node_set(nid, allownodes); + } + for_each_populated_zone(zone) { - if (skip_free_areas_node(filter, zone_to_nid(zone))) + if (!node_isset(zone_to_nid(zone), allownodes)) continue; show_node(zone); printk("%s per-cpu:\n", zone->name); @@ -2810,7 +2818,7 @@ void show_free_areas(unsigned int filter for_each_populated_zone(zone) { int i; - if (skip_free_areas_node(filter, zone_to_nid(zone))) + if (!node_isset(zone_to_nid(zone), allownodes)) continue; show_node(zone); printk("%s" @@ -2879,7 +2887,7 @@ void show_free_areas(unsigned int filter for_each_populated_zone(zone) { unsigned long nr[MAX_ORDER], flags, order, total = 0; - if (skip_free_areas_node(filter, zone_to_nid(zone))) + if (!node_isset(zone_to_nid(zone), allownodes)) continue; show_node(zone); printk("%s: ", zone->name); _ Subject: Subject: mm/buddy: get the allownodes for dump at once Patches currently in -mm which might be from shangw@xxxxxxxxxxxxxxxxxx are mm-slab-remove-duplicate-check.patch mm-buddy-cleanup-on-should_fail_alloc_page.patch mm-compaction-cleanup-on-compaction_deferred.patch mm-buddy-get-the-allownodes-for-dump-at-once.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