Commit 51aad0a51582e4147380137ba34785663a1b5f93

Authored by Mel Gorman
Committed by Jiri Slaby
1 parent fc915114c8

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: Jiri Slaby <jslaby@suse.cz>

Showing 1 changed file with 1 additions and 1 deletions Side-by-side Diff

... ... @@ -1955,7 +1955,7 @@
1955 1955 */
1956 1956 if (alloc_flags & ALLOC_FAIR) {
1957 1957 if (!zone_local(preferred_zone, zone))
1958   - continue;
  1958 + break;
1959 1959 if (zone_page_state(zone, NR_ALLOC_BATCH) <= 0)
1960 1960 continue;
1961 1961 }