All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mm/page_alloc: return 0 in case this node has no page within the zone
@ 2017-02-06 15:43 ` Wei Yang
  0 siblings, 0 replies; 20+ messages in thread
From: Wei Yang @ 2017-02-06 15:43 UTC (permalink / raw)
  To: akpm, vbabka, mgorman, mhocko; +Cc: linux-mm, linux-kernel, Wei Yang

The whole memory space is divided into several zones and nodes may have no
page in some zones. In this case, the __absent_pages_in_range() would
return 0, since the range it is searching for is an empty range.

Also this happens more often to those nodes with higher memory range when
there are more nodes, which is a trend for future architectures.

This patch checks the zone range after clamp and adjustment, return 0 if
the range is an empty range.

Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
---
 mm/page_alloc.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 6de9440e3ae2..51c60c0eadcb 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -5521,6 +5521,11 @@ static unsigned long __meminit zone_absent_pages_in_node(int nid,
 	adjust_zone_range_for_zone_movable(nid, zone_type,
 			node_start_pfn, node_end_pfn,
 			&zone_start_pfn, &zone_end_pfn);
+
+	/* If this node has no page within this zone, return 0. */
+	if (zone_start_pfn == zone_end_pfn)
+		return 0;
+
 	nr_absent = __absent_pages_in_range(nid, zone_start_pfn, zone_end_pfn);
 
 	/*
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2017-02-22 14:18 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-06 15:43 [PATCH] mm/page_alloc: return 0 in case this node has no page within the zone Wei Yang
2017-02-06 15:43 ` Wei Yang
2017-02-06 23:29 ` Andrew Morton
2017-02-06 23:29   ` Andrew Morton
2017-02-07 15:07   ` Wei Yang
2017-02-07  9:45 ` Michal Hocko
2017-02-07  9:45   ` Michal Hocko
2017-02-07 15:32   ` Wei Yang
2017-02-07 15:41     ` Michal Hocko
2017-02-07 15:41       ` Michal Hocko
2017-02-08 14:05       ` Wei Yang
2017-02-08 14:39         ` Michal Hocko
2017-02-08 14:39           ` Michal Hocko
2017-02-09 13:59       ` Wei Yang
2017-02-22  8:49         ` Michal Hocko
2017-02-22  8:49           ` Michal Hocko
2017-02-22 10:51           ` Wei Yang
2017-02-22 11:45             ` Michal Hocko
2017-02-22 11:45               ` Michal Hocko
2017-02-22 14:18               ` Wei Yang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.