|
@@ -460,12 +460,13 @@ isolate_migratepages_range(struct zone *zone, struct compact_control *cc,
|
|
|
unsigned long last_pageblock_nr = 0, pageblock_nr;
|
|
|
unsigned long nr_scanned = 0, nr_isolated = 0;
|
|
|
struct list_head *migratelist = &cc->migratepages;
|
|
|
- isolate_mode_t mode = 0;
|
|
|
struct lruvec *lruvec;
|
|
|
unsigned long flags;
|
|
|
bool locked = false;
|
|
|
struct page *page = NULL, *valid_page = NULL;
|
|
|
bool skipped_async_unsuitable = false;
|
|
|
+ const isolate_mode_t mode = (!cc->sync ? ISOLATE_ASYNC_MIGRATE : 0) |
|
|
|
+ (unevictable ? ISOLATE_UNEVICTABLE : 0);
|
|
|
|
|
|
/*
|
|
|
* Ensure that there are not too many pages isolated from the LRU
|
|
@@ -608,12 +609,6 @@ isolate_migratepages_range(struct zone *zone, struct compact_control *cc,
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- if (!cc->sync)
|
|
|
- mode |= ISOLATE_ASYNC_MIGRATE;
|
|
|
-
|
|
|
- if (unevictable)
|
|
|
- mode |= ISOLATE_UNEVICTABLE;
|
|
|
-
|
|
|
lruvec = mem_cgroup_page_lruvec(page, zone);
|
|
|
|
|
|
/* Try isolate the page */
|