mm: page_alloc: revert NUMA aspect of fair allocation policy
authorJohannes Weiner <hannes@cmpxchg.org>
Fri, 20 Dec 2013 14:54:12 +0000 (14:54 +0000)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 20 Dec 2013 20:19:18 +0000 (12:19 -0800)
commitfff4068cba484e6b0abe334ed6b15d5a215a3b25
tree0357c201066f054adc06fb6e274bac1b981debc1
parent8798cee2f90292ca4ca84baccc757e4d06f8797f
mm: page_alloc: revert NUMA aspect of fair allocation policy

Commit 81c0a2bb515f ("mm: page_alloc: fair zone allocator policy") meant
to bring aging fairness among zones in system, but it was overzealous
and badly regressed basic workloads on NUMA systems.

Due to the way kswapd and page allocator interacts, we still want to
make sure that all zones in any given node are used equally for all
allocations to maximize memory utilization and prevent thrashing on the
highest zone in the node.

While the same principle applies to NUMA nodes - memory utilization is
obviously improved by spreading allocations throughout all nodes -
remote references can be costly and so many workloads prefer locality
over memory utilization.  The original change assumed that
zone_reclaim_mode would be a good enough predictor for that, but it
turned out to be as indicative as a coin flip.

Revert the NUMA aspect of the fairness until we can find a proper way to
make it configurable and agree on a sane default.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Reviewed-by: Michal Hocko <mhocko@suse.cz>
Signed-off-by: Mel Gorman <mgorman@suse.de>
Cc: <stable@kernel.org> # 3.12
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/page_alloc.c