diff options
-rw-r--r-- | mm/compaction.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/mm/compaction.c b/mm/compaction.c index c62bd063d766..0d0248db36d8 100644 --- a/mm/compaction.c +++ b/mm/compaction.c | |||
@@ -611,8 +611,7 @@ check_compact_cluster: | |||
611 | continue; | 611 | continue; |
612 | 612 | ||
613 | next_pageblock: | 613 | next_pageblock: |
614 | low_pfn += pageblock_nr_pages; | 614 | low_pfn = ALIGN(low_pfn + 1, pageblock_nr_pages) - 1; |
615 | low_pfn = ALIGN(low_pfn, pageblock_nr_pages) - 1; | ||
616 | last_pageblock_nr = pageblock_nr; | 615 | last_pageblock_nr = pageblock_nr; |
617 | } | 616 | } |
618 | 617 | ||
@@ -795,7 +794,7 @@ static isolate_migrate_t isolate_migratepages(struct zone *zone, | |||
795 | low_pfn = max(cc->migrate_pfn, zone->zone_start_pfn); | 794 | low_pfn = max(cc->migrate_pfn, zone->zone_start_pfn); |
796 | 795 | ||
797 | /* Only scan within a pageblock boundary */ | 796 | /* Only scan within a pageblock boundary */ |
798 | end_pfn = ALIGN(low_pfn + pageblock_nr_pages, pageblock_nr_pages); | 797 | end_pfn = ALIGN(low_pfn + 1, pageblock_nr_pages); |
799 | 798 | ||
800 | /* Do not cross the free scanner or scan within a memory hole */ | 799 | /* Do not cross the free scanner or scan within a memory hole */ |
801 | if (end_pfn > cc->free_pfn || !pfn_valid(low_pfn)) { | 800 | if (end_pfn > cc->free_pfn || !pfn_valid(low_pfn)) { |