]> Pileus Git - ~andy/linux/blobdiff - mm/memory-failure.c
mm/hwpoison: don't set migration type twice to avoid holding heavily contend zone...
[~andy/linux] / mm / memory-failure.c
index c69217c07faa3799956b0a63a4ce2f58f5d29c3e..784a1e17c905c91dc689964841b96f069b28f698 100644 (file)
@@ -1429,7 +1429,8 @@ static int __get_any_page(struct page *p, unsigned long pfn, int flags)
         * was free. This flag should be kept set until the source page
         * is freed and PG_hwpoison on it is set.
         */
-       set_migratetype_isolate(p, true);
+       if (get_pageblock_migratetype(p) != MIGRATE_ISOLATE)
+               set_migratetype_isolate(p, true);
        /*
         * When the target page is a free hugepage, just remove it
         * from free hugepage list.