|
@@ -53,13 +53,6 @@ struct vm_area_struct;
|
|
#define __GFP_BITS_SHIFT 20 /* Room for 20 __GFP_FOO bits */
|
|
#define __GFP_BITS_SHIFT 20 /* Room for 20 __GFP_FOO bits */
|
|
#define __GFP_BITS_MASK ((__force gfp_t)((1 << __GFP_BITS_SHIFT) - 1))
|
|
#define __GFP_BITS_MASK ((__force gfp_t)((1 << __GFP_BITS_SHIFT) - 1))
|
|
|
|
|
|
-/* if you forget to add the bitmask here kernel will crash, period */
|
|
|
|
-#define GFP_LEVEL_MASK (__GFP_WAIT|__GFP_HIGH|__GFP_IO|__GFP_FS| \
|
|
|
|
- __GFP_COLD|__GFP_NOWARN|__GFP_REPEAT| \
|
|
|
|
- __GFP_NOFAIL|__GFP_NORETRY|__GFP_COMP| \
|
|
|
|
- __GFP_NOMEMALLOC|__GFP_HARDWALL|__GFP_THISNODE| \
|
|
|
|
- __GFP_MOVABLE)
|
|
|
|
-
|
|
|
|
/* This equals 0, but use constants in case they ever change */
|
|
/* This equals 0, but use constants in case they ever change */
|
|
#define GFP_NOWAIT (GFP_ATOMIC & ~__GFP_HIGH)
|
|
#define GFP_NOWAIT (GFP_ATOMIC & ~__GFP_HIGH)
|
|
/* GFP_ATOMIC means both !wait (__GFP_WAIT not set) and use emergency pool */
|
|
/* GFP_ATOMIC means both !wait (__GFP_WAIT not set) and use emergency pool */
|
|
@@ -86,6 +79,19 @@ struct vm_area_struct;
|
|
#define GFP_THISNODE ((__force gfp_t)0)
|
|
#define GFP_THISNODE ((__force gfp_t)0)
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+/* This mask makes up all the page movable related flags */
|
|
|
|
+#define GFP_MOVABLE_MASK (__GFP_MOVABLE)
|
|
|
|
+
|
|
|
|
+/* Control page allocator reclaim behavior */
|
|
|
|
+#define GFP_RECLAIM_MASK (__GFP_WAIT|__GFP_HIGH|__GFP_IO|__GFP_FS|\
|
|
|
|
+ __GFP_NOWARN|__GFP_REPEAT|__GFP_NOFAIL|\
|
|
|
|
+ __GFP_NORETRY|__GFP_NOMEMALLOC)
|
|
|
|
+
|
|
|
|
+/* Control allocation constraints */
|
|
|
|
+#define GFP_CONSTRAINT_MASK (__GFP_HARDWALL|__GFP_THISNODE)
|
|
|
|
+
|
|
|
|
+/* Do not use these with a slab allocator */
|
|
|
|
+#define GFP_SLAB_BUG_MASK (__GFP_DMA32|__GFP_HIGHMEM|~__GFP_BITS_MASK)
|
|
|
|
|
|
/* Flag - indicates that the buffer will be suitable for DMA. Ignored on some
|
|
/* Flag - indicates that the buffer will be suitable for DMA. Ignored on some
|
|
platforms, used as appropriate on others */
|
|
platforms, used as appropriate on others */
|