summaryrefslogtreecommitdiffstats
path: root/mm/page_alloc.c
diff options
context:
space:
mode:
authorBob Liu2012-01-13 02:19:07 +0100
committerLinus Torvalds2012-01-13 05:13:07 +0100
commitd0048b0e59c1218d62bb4d014f34bbd7e7c0a214 (patch)
treef6a69889bcb60b253ab37029616ebe6fa2bd24f9 /mm/page_alloc.c
parentmemcg: cleanup for_each_node_state() (diff)
downloadkernel-qcow2-linux-d0048b0e59c1218d62bb4d014f34bbd7e7c0a214.tar.gz
kernel-qcow2-linux-d0048b0e59c1218d62bb4d014f34bbd7e7c0a214.tar.xz
kernel-qcow2-linux-d0048b0e59c1218d62bb4d014f34bbd7e7c0a214.zip
page_alloc: break early in check_for_regular_memory()
If there is a zone below ZONE_NORMAL has present_pages, we can set node state to N_NORMAL_MEMORY, no need to loop to end. Signed-off-by: Bob Liu <lliubbo@gmail.com> Acked-by: Michal Hocko <mhocko@suse.cz> Cc: Johannes Weiner <hannes@cmpxchg.org> Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r--mm/page_alloc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 25c248eb7d5f..9404b38bcdc5 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -4642,8 +4642,10 @@ static void check_for_regular_memory(pg_data_t *pgdat)
for (zone_type = 0; zone_type <= ZONE_NORMAL; zone_type++) {
struct zone *zone = &pgdat->node_zones[zone_type];
- if (zone->present_pages)
+ if (zone->present_pages) {
node_set_state(zone_to_nid(zone), N_NORMAL_MEMORY);
+ break;
+ }
}
#endif
}