]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - mm/migrate.c
mm: check __PG_HWPOISON separately from PAGE_FLAGS_CHECK_AT_*
[linux.git] / mm / migrate.c
index ee401e4e5ef187c92247d03dd6d2ea0893092d1c..f2415be7d93ba80f1b502fad1876221817c0b32c 100644 (file)
@@ -950,7 +950,10 @@ static ICE_noinline int unmap_and_move(new_page_t get_new_page,
                list_del(&page->lru);
                dec_zone_page_state(page, NR_ISOLATED_ANON +
                                page_is_file_cache(page));
-               if (reason != MR_MEMORY_FAILURE)
+               /* Soft-offlined page shouldn't go through lru cache list */
+               if (reason == MR_MEMORY_FAILURE)
+                       put_page(page);
+               else
                        putback_lru_page(page);
        }