diff options
Diffstat (limited to 'mm/memory-failure.c')
-rw-r--r-- | mm/memory-failure.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/mm/memory-failure.c b/mm/memory-failure.c index 46ab2c044b0e..2323a8039a98 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c | |||
@@ -1290,9 +1290,10 @@ static int soft_offline_huge_page(struct page *page, int flags) | |||
1290 | /* Keep page count to indicate a given hugepage is isolated. */ | 1290 | /* Keep page count to indicate a given hugepage is isolated. */ |
1291 | 1291 | ||
1292 | list_add(&hpage->lru, &pagelist); | 1292 | list_add(&hpage->lru, &pagelist); |
1293 | ret = migrate_huge_pages(&pagelist, new_page, MPOL_MF_MOVE_ALL, 0); | 1293 | ret = migrate_huge_pages(&pagelist, new_page, MPOL_MF_MOVE_ALL, 0, |
1294 | true); | ||
1294 | if (ret) { | 1295 | if (ret) { |
1295 | putback_lru_pages(&pagelist); | 1296 | putback_lru_pages(&pagelist); |
1296 | pr_debug("soft offline: %#lx: migration failed %d, type %lx\n", | 1297 | pr_debug("soft offline: %#lx: migration failed %d, type %lx\n", |
1297 | pfn, ret, page->flags); | 1298 | pfn, ret, page->flags); |
1298 | if (ret > 0) | 1299 | if (ret > 0) |
@@ -1413,7 +1414,8 @@ int soft_offline_page(struct page *page, int flags) | |||
1413 | LIST_HEAD(pagelist); | 1414 | LIST_HEAD(pagelist); |
1414 | 1415 | ||
1415 | list_add(&page->lru, &pagelist); | 1416 | list_add(&page->lru, &pagelist); |
1416 | ret = migrate_pages(&pagelist, new_page, MPOL_MF_MOVE_ALL, 0); | 1417 | ret = migrate_pages(&pagelist, new_page, MPOL_MF_MOVE_ALL, |
1418 | 0, true); | ||
1417 | if (ret) { | 1419 | if (ret) { |
1418 | pr_info("soft offline: %#lx: migration failed %d, type %lx\n", | 1420 | pr_info("soft offline: %#lx: migration failed %d, type %lx\n", |
1419 | pfn, ret, page->flags); | 1421 | pfn, ret, page->flags); |