aboutsummaryrefslogtreecommitdiffstats
path: root/mm/compaction-cma.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/compaction-cma.c')
-rw-r--r--mm/compaction-cma.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/mm/compaction-cma.c b/mm/compaction-cma.c
index b5dced6..f3ce63a 100644
--- a/mm/compaction-cma.c
+++ b/mm/compaction-cma.c
@@ -303,7 +303,8 @@ isolate_migratepages_range(struct zone *zone, struct compact_control *cc,
}
/* Try isolate the page */
- if (__isolate_lru_page(page, ISOLATE_BOTH, 0) != 0)
+ if (__isolate_lru_page(page,
+ ISOLATE_ACTIVE|ISOLATE_INACTIVE, 0) != 0)
continue;
VM_BUG_ON(PageTransCompound(page));
@@ -659,7 +660,8 @@ static int compact_zone(struct zone *zone, struct compact_control *cc)
nr_migrate = cc->nr_migratepages;
err = migrate_pages(&cc->migratepages, compaction_alloc,
(unsigned long)cc, false,
- cc->sync, 0);
+ cc->sync ? MIGRATE_SYNC_LIGHT : MIGRATE_ASYNC
+ , 0);
update_nr_listpages(cc);
nr_remaining = cc->nr_migratepages;