diff options
author | Alex Shi <alex.shi@linaro.org> | 2017-01-16 12:01:26 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2017-01-16 12:01:26 +0800 |
commit | 75dd1c226c98dc1b4ad1bcf78746f4843c3fa1c4 (patch) | |
tree | eba1b36d5096b8c56ac96b0544dda12e0bc9e1f0 /mm/page_alloc.c | |
parent | 99d4c5fe0b7838de15c59b375491ef075848d92d (diff) | |
parent | d9ea51a9bea4ed29f8fd9c59a8122c7aabcc5562 (diff) |
Merge tag 'v4.4.43' into linux-linaro-lsk-v4.4
This is the 4.4.43 stable release
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r-- | mm/page_alloc.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index b0ca09f607b4..ad092093e101 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5689,15 +5689,18 @@ void __init free_area_init_nodes(unsigned long *max_zone_pfn) sizeof(arch_zone_lowest_possible_pfn)); memset(arch_zone_highest_possible_pfn, 0, sizeof(arch_zone_highest_possible_pfn)); - arch_zone_lowest_possible_pfn[0] = find_min_pfn_with_active_regions(); - arch_zone_highest_possible_pfn[0] = max_zone_pfn[0]; - for (i = 1; i < MAX_NR_ZONES; i++) { + + start_pfn = find_min_pfn_with_active_regions(); + + for (i = 0; i < MAX_NR_ZONES; i++) { if (i == ZONE_MOVABLE) continue; - arch_zone_lowest_possible_pfn[i] = - arch_zone_highest_possible_pfn[i-1]; - arch_zone_highest_possible_pfn[i] = - max(max_zone_pfn[i], arch_zone_lowest_possible_pfn[i]); + + end_pfn = max(max_zone_pfn[i], start_pfn); + arch_zone_lowest_possible_pfn[i] = start_pfn; + arch_zone_highest_possible_pfn[i] = end_pfn; + + start_pfn = end_pfn; } arch_zone_lowest_possible_pfn[ZONE_MOVABLE] = 0; arch_zone_highest_possible_pfn[ZONE_MOVABLE] = 0; |