New zone ZONE_EASY_RECLAIM take 4. (define gfp_easy_relcaim)[1/8]
Subsystems (4)
PATCH 1/1 New zone ZONE_EASY_RECLAIM take 4. (define gfp_easy_relcaim)[1/8]
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]>
include/linux/gfp.h +8 -4
@@ -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 */
include/linux/mmzone.h +1 -1
@@ -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/*
Signature · 8 lines
Yasunori Goto -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"[email protected]"> [email protected] </a>