OSDN Git Service

net: phy: mdio-bcm-unimac: Allow specifying platform data
[uclinux-h8/linux.git] / mm / page_isolation.c
index 3606104..757410d 100644 (file)
@@ -8,6 +8,7 @@
 #include <linux/memory.h>
 #include <linux/hugetlb.h>
 #include <linux/page_owner.h>
+#include <linux/migrate.h>
 #include "internal.h"
 
 #define CREATE_TRACE_POINTS
@@ -294,20 +295,5 @@ int test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn,
 struct page *alloc_migrate_target(struct page *page, unsigned long private,
                                  int **resultp)
 {
-       gfp_t gfp_mask = GFP_USER | __GFP_MOVABLE;
-
-       /*
-        * TODO: allocate a destination hugepage from a nearest neighbor node,
-        * accordance with memory policy of the user process if possible. For
-        * now as a simple work-around, we use the next node for destination.
-        */
-       if (PageHuge(page))
-               return alloc_huge_page_node(page_hstate(compound_head(page)),
-                                           next_node_in(page_to_nid(page),
-                                                        node_online_map));
-
-       if (PageHighMem(page))
-               gfp_mask |= __GFP_HIGHMEM;
-
-       return alloc_page(gfp_mask);
+       return new_page_nodemask(page, numa_node_id(), &node_states[N_MEMORY]);
 }