mm: page_alloc: abort fair zone allocation policy when remotes nodes are encountered
commit f7b5d64794
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>
This commit is contained in:
parent
442ae03a52
commit
a54cf1b321
|
@ -1980,7 +1980,7 @@ zonelist_scan:
|
||||||
*/
|
*/
|
||||||
if (alloc_flags & ALLOC_FAIR) {
|
if (alloc_flags & ALLOC_FAIR) {
|
||||||
if (!zone_local(preferred_zone, zone))
|
if (!zone_local(preferred_zone, zone))
|
||||||
continue;
|
break;
|
||||||
if (atomic_long_read(&zone->vm_stat[NR_ALLOC_BATCH]) <= 0)
|
if (atomic_long_read(&zone->vm_stat[NR_ALLOC_BATCH]) <= 0)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue