diff --git a/mm/compaction.c b/mm/compaction.c index c4d3a3129fd5..6e0c7456026b 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -1717,7 +1717,8 @@ static void isolate_freepages(struct compact_control *cc) /* Update the skip hint if the full pageblock was scanned */ if (isolate_start_pfn == block_end_pfn) - update_pageblock_skip(cc, page, block_start_pfn); + update_pageblock_skip(cc, page, block_start_pfn - + pageblock_nr_pages); /* Are enough freepages isolated? */ if (cc->nr_freepages >= cc->nr_migratepages) {