Add __GFP_MOVABLE for callers to flag allocations from high memory that may be migrated
[sfrench/cifs-2.6.git] / include / asm-ia64 / page.h
index f5a949ec6e1ee60355ecadd7b7edb23b916b2d07..d6345464a2b3bc9b26ec755561fe0358acdf72ae 100644 (file)
@@ -7,6 +7,7 @@
  *     David Mosberger-Tang <davidm@hpl.hp.com>
  */
 
+# ifdef __KERNEL__
 
 #include <asm/intrinsics.h>
 #include <asm/types.h>
@@ -64,7 +65,6 @@
 # define __pa(x)               ((x) - PAGE_OFFSET)
 # define __va(x)               ((x) + PAGE_OFFSET)
 #else /* !__ASSEMBLY */
-# ifdef __KERNEL__
 #  define STRICT_MM_TYPECHECKS
 
 extern void clear_page (void *page);
@@ -87,12 +87,13 @@ do {                                                \
 } while (0)
 
 
-#define alloc_zeroed_user_highpage(vma, vaddr) \
-({                                             \
-       struct page *page = alloc_page_vma(GFP_HIGHUSER | __GFP_ZERO, vma, vaddr); \
-       if (page)                               \
-               flush_dcache_page(page);        \
-       page;                                   \
+#define __alloc_zeroed_user_highpage(movableflags, vma, vaddr)         \
+({                                                                     \
+       struct page *page = alloc_page_vma(                             \
+               GFP_HIGHUSER | __GFP_ZERO | movableflags, vma, vaddr);  \
+       if (page)                                                       \
+               flush_dcache_page(page);                                \
+       page;                                                           \
 })
 
 #define __HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE
@@ -101,7 +102,7 @@ do {                                                \
 
 #ifdef CONFIG_VIRTUAL_MEM_MAP
 extern int ia64_pfn_valid (unsigned long pfn);
-#elif defined(CONFIG_FLATMEM)
+#else
 # define ia64_pfn_valid(pfn) 1
 #endif
 
@@ -110,12 +111,11 @@ extern struct page *vmem_map;
 #ifdef CONFIG_DISCONTIGMEM
 # define page_to_pfn(page)     ((unsigned long) (page - vmem_map))
 # define pfn_to_page(pfn)      (vmem_map + (pfn))
+#else
+# include <asm-generic/memory_model.h>
 #endif
-#endif
-
-#if defined(CONFIG_FLATMEM) || defined(CONFIG_SPARSEMEM)
-/* FLATMEM always configures mem_map (mem_map = vmem_map if necessary) */
-#include <asm-generic/memory_model.h>
+#else
+# include <asm-generic/memory_model.h>
 #endif
 
 #ifdef CONFIG_FLATMEM
@@ -174,7 +174,6 @@ get_order (unsigned long size)
        return order;
 }
 
-# endif /* __KERNEL__ */
 #endif /* !__ASSEMBLY__ */
 
 #ifdef STRICT_MM_TYPECHECKS
@@ -228,4 +227,5 @@ get_order (unsigned long size)
                                         (((current->personality & READ_IMPLIES_EXEC) != 0)     \
                                          ? VM_EXEC : 0))
 
+# endif /* __KERNEL__ */
 #endif /* _ASM_IA64_PAGE_H */