This defines __GFP flag for new zone (with GFP_DMA32).
take3 -> take 4:
take 3's modification was not enough.
__GFP_DMA32 is moved from 0x04 to 0x02 when it has own number
to make it easier.
__GFP_HIGHMEM and __GFP_EASY_RECLAIM become fixed value.
Signed-off-by: Yasunori Goto <[email protected]>
Index: zone_reclaim/include/linux/gfp.h
===================================================================
--- zone_reclaim.orig/include/linux/gfp.h 2005-12-16 11:28:15.000000000 +0900
+++ zone_reclaim/include/linux/gfp.h 2005-12-19 20:20:51.000000000 +0900
@@ -11,17 +11,21 @@ struct vm_area_struct;
/*
* GFP bitmasks..
*/
-/* Zone modifiers in GFP_ZONEMASK (see linux/mmzone.h - low three bits) */
+/* Zone modifiers in GFP_ZONEMASK (see linux/mmzone.h - low four bits) */
#define __GFP_DMA ((__force gfp_t)0x01u)
-#define __GFP_HIGHMEM ((__force gfp_t)0x02u)
+
#ifdef CONFIG_DMA_IS_DMA32
#define __GFP_DMA32 ((__force gfp_t)0x01) /* ZONE_DMA is ZONE_DMA32 */
#elif BITS_PER_LONG < 64
#define __GFP_DMA32 ((__force gfp_t)0x00) /* ZONE_NORMAL is ZONE_DMA32 */
#else
-#define __GFP_DMA32 ((__force gfp_t)0x04) /* Has own ZONE_DMA32 */
+#define __GFP_DMA32 ((__force gfp_t)0x02) /* Has own ZONE_DMA32 */
#endif
+#define __GFP_HIGHMEM ((__force gfp_t)0x04u)
+#define __GFP_EASY_RECLAIM ((__force gfp_t)0x08u)
+
+
/*
* Action modifiers - doesn't change the zoning
*
@@ -64,7 +68,7 @@ struct vm_area_struct;
#define GFP_KERNEL (__GFP_WAIT | __GFP_IO | __GFP_FS)
#define GFP_USER (__GFP_WAIT | __GFP_IO | __GFP_FS | __GFP_HARDWALL)
#define GFP_HIGHUSER (__GFP_WAIT | __GFP_IO | __GFP_FS | __GFP_HARDWALL | \
- __GFP_HIGHMEM)
+ __GFP_HIGHMEM | __GFP_EASY_RECLAIM)
/* Flag - indicates that the buffer will be suitable for DMA. Ignored on some
platforms, used as appropriate on others */
Index: zone_reclaim/include/linux/mmzone.h
===================================================================
--- zone_reclaim.orig/include/linux/mmzone.h 2005-12-16 11:28:15.000000000 +0900
+++ zone_reclaim/include/linux/mmzone.h 2005-12-19 20:16:29.000000000 +0900
@@ -93,7 +93,7 @@ struct per_cpu_pageset {
*
* NOTE! Make sure this matches the zones in <linux/gfp.h>
*/
-#define GFP_ZONEMASK 0x07
+#define GFP_ZONEMASK 0x0f
#define GFP_ZONETYPES 5
/*
--
Yasunori Goto
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]