diff --git a/mm/compaction.c b/mm/compaction.c index edba18aed1738c752793f63ae409c22ae373342a..ec74cf0123efd3944894cc0b159b385d6b837f25 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -784,6 +784,9 @@ isolate_migratepages_range(struct compact_control *cc, unsigned long start_pfn, cc->nr_migratepages = 0; break; } + + if (cc->nr_migratepages == COMPACT_CLUSTER_MAX) + break; } acct_isolated(cc->zone, cc);