diff options
| author | Mel Gorman <mgorman@suse.de> | 2014-08-06 16:07:20 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-06 18:01:20 -0700 | 
| commit | f7b5d647946aae1647bf5cd26c16b3a793c1ac49 (patch) | |
| tree | 6dc945631424f22b8044985d15fd949fc45e711a | |
| parent | bb0b6dffa2ccfbd9747ad0cc87c7459622896e60 (diff) | |
mm: page_alloc: abort fair zone allocation policy when remotes nodes are encountered
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>
| -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 daa016063793..6e5e8f762532 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1965,7 +1965,7 @@ zonelist_scan:  		 */  		if (alloc_flags & ALLOC_FAIR) {  			if (!zone_local(preferred_zone, zone)) -				continue; +				break;  			if (zone_page_state(zone, NR_ALLOC_BATCH) <= 0)  				continue;  		}  | 
