dts: early mount efs
[GitHub/exynos8895/android_kernel_samsung_universal8895.git] / mm / page_isolation.c
index 4568fd58f70a02c472e525528db58eeb20c06ebf..ef9e169335ccbda31b22442beb55ce075d64e97e 100644 (file)
@@ -237,8 +237,11 @@ __test_page_isolated_in_pageblock(unsigned long pfn, unsigned long end_pfn,
                else
                        break;
        }
-       if (pfn < end_pfn)
+       if (pfn < end_pfn) {
+               pr_info("%s: page of pfn %lu is not isolated\n", __func__, pfn);
+               dump_page(pfn_to_page(pfn), "isolation failure");
                return 0;
+       }
        return 1;
 }
 
@@ -283,11 +286,11 @@ struct page *alloc_migrate_target(struct page *page, unsigned long private,
         * now as a simple work-around, we use the next node for destination.
         */
        if (PageHuge(page)) {
-               nodemask_t src = nodemask_of_node(page_to_nid(page));
-               nodemask_t dst;
-               nodes_complement(dst, src);
+               int node = next_online_node(page_to_nid(page));
+               if (node == MAX_NUMNODES)
+                       node = first_online_node;
                return alloc_huge_page_node(page_hstate(compound_head(page)),
-                                           next_node(page_to_nid(page), dst));
+                                           node);
        }
 
        if (PageHighMem(page))