• M
    mm, compaction: do not consider a need to reschedule as contention · e73bb390
    Mel Gorman 提交于
    to #26255339
    
    commit cf66f0700c8f1d7c7c1c1d7e5e846a1836814601 upstream
    
    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: NMel Gorman <mgorman@techsingularity.net>
    Acked-by: NVlastimil 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: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: NYang Shi <yang.shi@linux.alibaba.com>
    Reviewed-by: NXunlei Pang <xlpang@linux.alibaba.com>
    e73bb390
compaction.c 71.1 KB