aboutsummaryrefslogtreecommitdiffstats
path: root/mm/compaction.c
diff options
context:
space:
mode:
authorHillf Danton <dhillf@gmail.com>2012-01-10 18:07:59 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-01-10 19:30:44 -0500
commit31b8384a555d94c78e2ea2284a323cb985441f60 (patch)
tree6e9b3fc9d14e7bbd8c6c97a1277fd3e9b5034f5b /mm/compaction.c
parente3a41a5ba9c2ab988b9f1442925109dca2382fd9 (diff)
mm: compaction: push isolate search base of compact control one pfn ahead
After isolated the current pfn will no longer be scanned and isolated if the next round is necessary, so push the isolate_migratepages search base of the given compact_control one step ahead. Signed-off-by: Hillf Danton <dhillf@gmail.com> Reviewed-by: Andrea Arcangeli <aarcange@redhat.com> Cc: Mel Gorman <mgorman@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/compaction.c')
-rw-r--r--mm/compaction.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/mm/compaction.c b/mm/compaction.c
index 1253d7ac332b..e6670c34eb49 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -365,8 +365,10 @@ static isolate_migrate_t isolate_migratepages(struct zone *zone,
365 nr_isolated++; 365 nr_isolated++;
366 366
367 /* Avoid isolating too much */ 367 /* Avoid isolating too much */
368 if (cc->nr_migratepages == COMPACT_CLUSTER_MAX) 368 if (cc->nr_migratepages == COMPACT_CLUSTER_MAX) {
369 ++low_pfn;
369 break; 370 break;
371 }
370 } 372 }
371 373
372 acct_isolated(zone, cc); 374 acct_isolated(zone, cc);