diff options
author | Mel Gorman <mgorman@suse.de> | 2014-08-28 19:35:44 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-01-29 17:40:53 -0800 |
commit | a54cf1b3210610ebd9285e7bd79cb7613f54f0cd (patch) | |
tree | 4365beb2c0889aadd1f842eab23f039639b5aeac /mm | |
parent | 442ae03a52461e81eb95a776c9a3009fd4f7daca (diff) | |
download | lwn-a54cf1b3210610ebd9285e7bd79cb7613f54f0cd.tar.gz lwn-a54cf1b3210610ebd9285e7bd79cb7613f54f0cd.zip |
mm: page_alloc: abort fair zone allocation policy when remotes nodes are encountered
commit f7b5d647946aae1647bf5cd26c16b3a793c1ac49 upstream.
The purpose of numa_zonelist_order=zone is to preserve lower zones for
use with 32-bit devices. If locality is preferred then the
numa_zonelist_order=node policy should be used.
Unfortunately, the fair zone allocation policy overrides this by
skipping zones on remote nodes until the lower one is found. While this
makes sense from a page aging and performance perspective, it breaks the
expected zonelist policy. This patch restores the expected behaviour
for zone-list ordering.
Signed-off-by: Mel Gorman <mgorman@suse.de>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/page_alloc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index fbf1f547dd83..3eb5adf1b2dd 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1980,7 +1980,7 @@ zonelist_scan: */ if (alloc_flags & ALLOC_FAIR) { if (!zone_local(preferred_zone, zone)) - continue; + break; if (atomic_long_read(&zone->vm_stat[NR_ALLOC_BATCH]) <= 0) continue; } |