summaryrefslogtreecommitdiff
path: root/mm/huge_memory.c
diff options
context:
space:
mode:
authorJohannes Weiner <hannes@cmpxchg.org>2014-03-03 23:38:41 (GMT)
committerJiri Slaby <jslaby@suse.cz>2014-03-22 21:01:47 (GMT)
commitedbe815797df9adda740805b4791c69af919e3d0 (patch)
treefdf921761baebfb7fe534f00abaf7c248d7182fb /mm/huge_memory.c
parentfaf65d4dccfd705ff302e4e7b59fcb454f3b47ce (diff)
downloadlinux-fsl-qoriq-edbe815797df9adda740805b4791c69af919e3d0.tar.xz
mm: page_alloc: exempt GFP_THISNODE allocations from zone fairness
commit 27329369c9ecf37771b2a65202cbf5578cff3331 upstream. Jan Stancek reports manual page migration encountering allocation failures after some pages when there is still plenty of memory free, and bisected the problem down to commit 81c0a2bb515f ("mm: page_alloc: fair zone allocator policy"). The problem is that GFP_THISNODE obeys the zone fairness allocation batches on one hand, but doesn't reset them and wake kswapd on the other hand. After a few of those allocations, the batches are exhausted and the allocations fail. Fixing this means either having GFP_THISNODE wake up kswapd, or GFP_THISNODE not participating in zone fairness at all. The latter seems safer as an acute bugfix, we can clean up later. Reported-by: Jan Stancek <jstancek@redhat.com> Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Acked-by: Rik van Riel <riel@redhat.com> Acked-by: Mel Gorman <mgorman@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'mm/huge_memory.c')
0 files changed, 0 insertions, 0 deletions