Skip to contentSkip to conversation

Patch "mm, sl[au]b: add __GFP_ATOMIC to the GFP reclaim mask" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Aug 2, 2016

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

mm, sl[au]b: add __GFP_ATOMIC to the GFP reclaim mask

to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
mm-slb-add-__gfp_atomic-to-the-gfp-reclaim-mask.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From e838a45f9392a5bd2be1cd3ab0b16ae85857461c Mon Sep 17 00:00:00 2001

From: Mel Gorman <[email protected]>
Date: Fri, 24 Jun 2016 14:49:37 -0700
Subject: mm, sl[au]b: add __GFP_ATOMIC to the GFP reclaim mask

From: Mel Gorman <[email protected]>

commit e838a45f9392a5bd2be1cd3ab0b16ae85857461c upstream.

Commit d0164adc89f6 ("mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd") modified __GFP_WAIT to explicitly identify the difference between atomic callers and those that were unwilling to sleep. Later the definition was removed entirely.

The GFP_RECLAIM_MASK is the set of flags that affect watermark checking and reclaim behaviour but __GFP_ATOMIC was never added. Without it, atomic users of the slab allocator strip the __GFP_ATOMIC flag and cannot access the page allocator atomic reserves. This patch addresses the problem.

The user-visible impact depends on the workload but potentially atomic allocations unnecessarily fail without this path.

---
 mm/internal.h |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
mm/internal.h +2 -1
@@ -22,7 +22,8 @@
  */
 #define GFP_RECLAIM_MASK (__GFP_RECLAIM|__GFP_HIGH|__GFP_IO|__GFP_FS|\
 			__GFP_NOWARN|__GFP_REPEAT|__GFP_NOFAIL|\
-			__GFP_NORETRY|__GFP_MEMALLOC|__GFP_NOMEMALLOC)
+			__GFP_NORETRY|__GFP_MEMALLOC|__GFP_NOMEMALLOC|\
+			__GFP_ATOMIC)
 
 /* The GFP flags allowed during early boot */
 #define GFP_BOOT_MASK (__GFP_BITS_MASK & ~(__GFP_RECLAIM|__GFP_IO|__GFP_FS))

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/mm-compaction-abort-free-scanner-if-split-fails.patch queue-4.4/mm-compaction-prevent-vm_bug_on-when-terminating-freeing-scanner.patch queue-4.4/mm-meminit-always-return-a-valid-node-from-early_pfn_to_nid.patch queue-4.4/mm-meminit-ensure-node-is-online-before-checking-whether-pages-are-uninitialised.patch queue-4.4/mm-slb-add-__gfp_atomic-to-the-gfp-reclaim-mask.patch