|
@@ -30,6 +30,7 @@ struct vm_area_struct;
|
|
|
#define ___GFP_HARDWALL 0x20000u
|
|
|
#define ___GFP_THISNODE 0x40000u
|
|
|
#define ___GFP_ATOMIC 0x80000u
|
|
|
+#define ___GFP_ACCOUNT 0x100000u
|
|
|
#define ___GFP_NOTRACK 0x200000u
|
|
|
#define ___GFP_DIRECT_RECLAIM 0x400000u
|
|
|
#define ___GFP_OTHER_NODE 0x800000u
|
|
@@ -72,11 +73,15 @@ struct vm_area_struct;
|
|
|
*
|
|
|
* __GFP_THISNODE forces the allocation to be satisified from the requested
|
|
|
* node with no fallbacks or placement policy enforcements.
|
|
|
+ *
|
|
|
+ * __GFP_ACCOUNT causes the allocation to be accounted to kmemcg (only relevant
|
|
|
+ * to kmem allocations).
|
|
|
*/
|
|
|
#define __GFP_RECLAIMABLE ((__force gfp_t)___GFP_RECLAIMABLE)
|
|
|
#define __GFP_WRITE ((__force gfp_t)___GFP_WRITE)
|
|
|
#define __GFP_HARDWALL ((__force gfp_t)___GFP_HARDWALL)
|
|
|
#define __GFP_THISNODE ((__force gfp_t)___GFP_THISNODE)
|
|
|
+#define __GFP_ACCOUNT ((__force gfp_t)___GFP_ACCOUNT)
|
|
|
|
|
|
/*
|
|
|
* Watermark modifiers -- controls access to emergency reserves
|
|
@@ -195,6 +200,9 @@ struct vm_area_struct;
|
|
|
* GFP_KERNEL is typical for kernel-internal allocations. The caller requires
|
|
|
* ZONE_NORMAL or a lower zone for direct access but can direct reclaim.
|
|
|
*
|
|
|
+ * GFP_KERNEL_ACCOUNT is the same as GFP_KERNEL, except the allocation is
|
|
|
+ * accounted to kmemcg.
|
|
|
+ *
|
|
|
* GFP_NOWAIT is for kernel allocations that should not stall for direct
|
|
|
* reclaim, start physical IO or use any filesystem callback.
|
|
|
*
|
|
@@ -234,6 +242,7 @@ struct vm_area_struct;
|
|
|
*/
|
|
|
#define GFP_ATOMIC (__GFP_HIGH|__GFP_ATOMIC|__GFP_KSWAPD_RECLAIM)
|
|
|
#define GFP_KERNEL (__GFP_RECLAIM | __GFP_IO | __GFP_FS)
|
|
|
+#define GFP_KERNEL_ACCOUNT (GFP_KERNEL | __GFP_ACCOUNT)
|
|
|
#define GFP_NOWAIT (__GFP_KSWAPD_RECLAIM)
|
|
|
#define GFP_NOIO (__GFP_RECLAIM)
|
|
|
#define GFP_NOFS (__GFP_RECLAIM | __GFP_IO)
|