• Mel Gorman's avatar
    mm, compaction: do not consider a need to reschedule as contention · cf66f070
    Mel Gorman authored
    Scanning on large machines can take a considerable length of time and
    eventually need to be rescheduled.  This is treated as an abort event
    but that's not appropriate as the attempt is likely to be retried after
    making numerous checks and taking another cycle through the page
    allocator.  This patch will check the need to reschedule if necessary
    but continue the scanning.
    
    The main benefit is reduced scanning when compaction is taking a long
    time or the machine is over-saturated.  It also avoids an unnecessary
    exit of compaction that ends up being retried by the page allocator in
    the outer loop.
    
                                         5.0.0-rc1              5.0.0-rc1
                                  synccached-v3r16        noresched-v3r17
    Amean     fault-both-1         0.00 (   0.00%)        0.00 *   0.00%*
    Amean     fault-both-3      2958.27 (   0.00%)     2965.68 (  -0.25%)
    Amean     fault-both-5      4091.90 (   0.00%)     3995.90 (   2.35%)
    Amean     fault-both-7      5803.05 (   0.00%)     5842.12 (  -0.67%)
    Amean     fault-both-12     9481.06 (   0.00%)     9550.87 (  -0.74%)
    Amean     fault-both-18    14141.51 (   0.00%)    13304.72 (   5.92%)
    Amean     fault-both-24    16438.00 (   0.00%)    14618.59 (  11.07%)
    Amean     fault-both-30    17531.72 (   0.00%)    16650.96 (   5.02%)
    Amean     fault-both-32    17101.96 (   0.00%)    17145.15 (  -0.25%)
    
    Link: http://lkml.kernel.org/r/20190118175136.31341-18-mgorman@techsingularity.netSigned-off-by: default avatarMel Gorman <mgorman@techsingularity.net>
    Acked-by: default avatarVlastimil Babka <vbabka@suse.cz>
    Cc: Andrea Arcangeli <aarcange@redhat.com>
    Cc: Dan Carpenter <dan.carpenter@oracle.com>
    Cc: David Rientjes <rientjes@google.com>
    Cc: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    cf66f070
compaction.c 70.9 KB