GFP_SPM_NODE changes the nodemask checks in the page allocator to include the full set memory nodes, rather than just SysRAM nodes.
Signed-off-by: Gregory Price <[email protected]> --- include/linux/gfp_types.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/linux/gfp_types.h b/include/linux/gfp_types.h index 65db9349f905..525ae891420e 100644 --- a/include/linux/gfp_types.h +++ b/include/linux/gfp_types.h @@ -58,6 +58,7 @@ enum { #ifdef CONFIG_SLAB_OBJ_EXT ___GFP_NO_OBJ_EXT_BIT, #endif + ___GFP_SPM_NODE_BIT, ___GFP_LAST_BIT }; @@ -103,6 +104,7 @@ enum { #else #define ___GFP_NO_OBJ_EXT 0 #endif +#define ___GFP_SPM_NODE BIT(___GFP_SPM_NODE_BIT) /* * Physical address zone modifiers (see linux/mmzone.h - low four bits) @@ -145,6 +147,8 @@ enum { * %__GFP_ACCOUNT causes the allocation to be accounted to kmemcg. * * %__GFP_NO_OBJ_EXT causes slab allocation to have no object extension. + * + * %__GFP_SPM_NODE allows the use of Specific Purpose Memory Nodes */ #define __GFP_RECLAIMABLE ((__force gfp_t)___GFP_RECLAIMABLE) #define __GFP_WRITE ((__force gfp_t)___GFP_WRITE) @@ -152,6 +156,7 @@ enum { #define __GFP_THISNODE ((__force gfp_t)___GFP_THISNODE) #define __GFP_ACCOUNT ((__force gfp_t)___GFP_ACCOUNT) #define __GFP_NO_OBJ_EXT ((__force gfp_t)___GFP_NO_OBJ_EXT) +#define __GFP_SPM_NODE ((__force gfp_t)___GFP_SPM_NODE) /** * DOC: Watermark modifiers -- 2.51.1

