|
@@ -1295,7 +1295,10 @@ static int soft_offline_huge_page(struct page *page, int flags)
|
|
|
ret = migrate_huge_pages(&pagelist, new_page, MPOL_MF_MOVE_ALL, 0,
|
|
|
true);
|
|
|
if (ret) {
|
|
|
- putback_lru_pages(&pagelist);
|
|
|
+ struct page *page1, *page2;
|
|
|
+ list_for_each_entry_safe(page1, page2, &pagelist, lru)
|
|
|
+ put_page(page1);
|
|
|
+
|
|
|
pr_debug("soft offline: %#lx: migration failed %d, type %lx\n",
|
|
|
pfn, ret, page->flags);
|
|
|
if (ret > 0)
|