• Johannes Weiner's avatar
    mm: page_alloc: revert NUMA aspect of fair allocation policy · fff4068c
    Johannes Weiner authored
    Commit 81c0a2bb ("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: default avatarJohannes Weiner <hannes@cmpxchg.org>
    Reviewed-by: default avatarMichal Hocko <mhocko@suse.cz>
    Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
    Cc: <stable@kernel.org> # 3.12
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    fff4068c
page_alloc.c 179 KB