linux/arch/powerpc
Johannes Weiner e97ca8e5b8 mm: fix GFP_THISNODE callers and clarify
GFP_THISNODE is for callers that implement their own clever fallback to
remote nodes.  It restricts the allocation to the specified node and
does not invoke reclaim, assuming that the caller will take care of it
when the fallback fails, e.g.  through a subsequent allocation request
without GFP_THISNODE set.

However, many current GFP_THISNODE users only want the node exclusive
aspect of the flag, without actually implementing their own fallback or
triggering reclaim if necessary.  This results in things like page
migration failing prematurely even when there is easily reclaimable
memory available, unless kswapd happens to be running already or a
concurrent allocation attempt triggers the necessary reclaim.

Convert all callsites that don't implement their own fallback strategy
to __GFP_THISNODE.  This restricts the allocation a single node too, but
at the same time allows the allocator to enter the slowpath, wake
kswapd, and invoke direct reclaim if necessary, to make the allocation
happen when memory is full.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Rik van Riel <riel@redhat.com>
Cc: Jan Stancek <jstancek@redhat.com>
Cc: Mel Gorman <mgorman@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-03-10 17:26:19 -07:00
..
boot Merge remote-tracking branch 'agust/next' into next 2014-01-29 16:53:55 +11:00
configs Merge remote-tracking branch 'scott/next' into next 2014-01-15 14:22:35 +11:00
crypto powerpc: Fix compile of sha1-powerpc-asm.S on 32-bit 2013-03-05 16:56:26 +11:00
include powerpc/powernv: Fix opal_xscom_{read,write} prototype 2014-02-28 19:15:48 +11:00
kernel powerpc: Align p_dyn, p_rela and p_st symbols 2014-03-07 13:50:19 +11:00
kvm Second batch of KVM updates. Some minor x86 fixes, 2014-01-31 08:37:32 -08:00
lib powerpc: Add vr save/restore functions 2014-01-15 13:46:43 +11:00
math-emu powerpc: fix e500 SPE float SIGFPE generation 2014-01-07 18:43:42 -06:00
mm powerpc/mm: Add new "set" flag argument to pte/pmd update function 2014-02-17 11:19:35 +11:00
net bpf: do not use reciprocal divide 2014-01-15 17:02:08 -08:00
oprofile powerpc: Delete non-required instances of include <linux/init.h> 2014-01-15 13:46:44 +11:00
perf powerpc/perf: Configure BHRB filter before enabling PMU interrupts 2014-02-11 11:24:50 +11:00
platforms mm: fix GFP_THISNODE callers and clarify 2014-03-10 17:26:19 -07:00
sysdev powerpc: Fix build failure in sysdev/mpic.c for MPIC_WEIRD=y 2014-02-11 11:24:45 +11:00
xmon powerpc/xmon: Don't signal we've entered until we're finished printing 2014-02-11 11:24:51 +11:00
Kconfig Second batch of KVM updates. Some minor x86 fixes, 2014-01-31 08:37:32 -08:00
Kconfig.debug Merge branch 'kconfig-diet' from Dave Hansen 2013-07-04 11:25:51 -07:00
Makefile powerpc: Fix error when cross building TAGS & cscope 2013-11-25 11:49:11 +11:00
relocs_check.pl Fix warning typo "CONFIG_RELCOATABLE" 2013-05-29 15:11:30 +02:00