diff options
Diffstat (limited to 'mm/compaction.c')
-rw-r--r-- | mm/compaction.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/mm/compaction.c b/mm/compaction.c index 25e75e3e2ac6..05ccb4cc0bdb 100644 --- a/mm/compaction.c +++ b/mm/compaction.c | |||
@@ -86,7 +86,7 @@ static inline bool isolation_suitable(struct compact_control *cc, | |||
86 | static void __reset_isolation_suitable(struct zone *zone) | 86 | static void __reset_isolation_suitable(struct zone *zone) |
87 | { | 87 | { |
88 | unsigned long start_pfn = zone->zone_start_pfn; | 88 | unsigned long start_pfn = zone->zone_start_pfn; |
89 | unsigned long end_pfn = zone->zone_start_pfn + zone->spanned_pages; | 89 | unsigned long end_pfn = zone_end_pfn(zone); |
90 | unsigned long pfn; | 90 | unsigned long pfn; |
91 | 91 | ||
92 | zone->compact_cached_migrate_pfn = start_pfn; | 92 | zone->compact_cached_migrate_pfn = start_pfn; |
@@ -647,7 +647,7 @@ static void isolate_freepages(struct zone *zone, | |||
647 | struct compact_control *cc) | 647 | struct compact_control *cc) |
648 | { | 648 | { |
649 | struct page *page; | 649 | struct page *page; |
650 | unsigned long high_pfn, low_pfn, pfn, zone_end_pfn, end_pfn; | 650 | unsigned long high_pfn, low_pfn, pfn, z_end_pfn, end_pfn; |
651 | int nr_freepages = cc->nr_freepages; | 651 | int nr_freepages = cc->nr_freepages; |
652 | struct list_head *freelist = &cc->freepages; | 652 | struct list_head *freelist = &cc->freepages; |
653 | 653 | ||
@@ -666,7 +666,7 @@ static void isolate_freepages(struct zone *zone, | |||
666 | */ | 666 | */ |
667 | high_pfn = min(low_pfn, pfn); | 667 | high_pfn = min(low_pfn, pfn); |
668 | 668 | ||
669 | zone_end_pfn = zone->zone_start_pfn + zone->spanned_pages; | 669 | z_end_pfn = zone_end_pfn(zone); |
670 | 670 | ||
671 | /* | 671 | /* |
672 | * Isolate free pages until enough are available to migrate the | 672 | * Isolate free pages until enough are available to migrate the |
@@ -709,7 +709,7 @@ static void isolate_freepages(struct zone *zone, | |||
709 | * only scans within a pageblock | 709 | * only scans within a pageblock |
710 | */ | 710 | */ |
711 | end_pfn = ALIGN(pfn + 1, pageblock_nr_pages); | 711 | end_pfn = ALIGN(pfn + 1, pageblock_nr_pages); |
712 | end_pfn = min(end_pfn, zone_end_pfn); | 712 | end_pfn = min(end_pfn, z_end_pfn); |
713 | isolated = isolate_freepages_block(cc, pfn, end_pfn, | 713 | isolated = isolate_freepages_block(cc, pfn, end_pfn, |
714 | freelist, false); | 714 | freelist, false); |
715 | nr_freepages += isolated; | 715 | nr_freepages += isolated; |
@@ -923,7 +923,7 @@ static int compact_zone(struct zone *zone, struct compact_control *cc) | |||
923 | { | 923 | { |
924 | int ret; | 924 | int ret; |
925 | unsigned long start_pfn = zone->zone_start_pfn; | 925 | unsigned long start_pfn = zone->zone_start_pfn; |
926 | unsigned long end_pfn = zone->zone_start_pfn + zone->spanned_pages; | 926 | unsigned long end_pfn = zone_end_pfn(zone); |
927 | 927 | ||
928 | ret = compaction_suitable(zone, cc->order); | 928 | ret = compaction_suitable(zone, cc->order); |
929 | switch (ret) { | 929 | switch (ret) { |