|
@@ -992,9 +992,6 @@ isolate_migratepages_range(struct compact_control *cc, unsigned long start_pfn,
|
|
static bool suitable_migration_target(struct compact_control *cc,
|
|
static bool suitable_migration_target(struct compact_control *cc,
|
|
struct page *page)
|
|
struct page *page)
|
|
{
|
|
{
|
|
- if (cc->ignore_block_suitable)
|
|
|
|
- return true;
|
|
|
|
-
|
|
|
|
/* If the page is a large free page, then disallow migration */
|
|
/* If the page is a large free page, then disallow migration */
|
|
if (PageBuddy(page)) {
|
|
if (PageBuddy(page)) {
|
|
/*
|
|
/*
|
|
@@ -1006,6 +1003,9 @@ static bool suitable_migration_target(struct compact_control *cc,
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (cc->ignore_block_suitable)
|
|
|
|
+ return true;
|
|
|
|
+
|
|
/* If the block is MIGRATE_MOVABLE or MIGRATE_CMA, allow migration */
|
|
/* If the block is MIGRATE_MOVABLE or MIGRATE_CMA, allow migration */
|
|
if (migrate_async_suitable(get_pageblock_migratetype(page)))
|
|
if (migrate_async_suitable(get_pageblock_migratetype(page)))
|
|
return true;
|
|
return true;
|