• M
    mm, compaction: sample pageblocks for free pages · 2de4a768
    Mel Gorman 提交于
    to #26255339
    
    commit 4fca9730c51d51f643f2a3f8f10ebd718349c80f upstream
    
    Once fast searching finishes, there is a possibility that the linear
    scanner is scanning full blocks found by the fast scanner earlier.  This
    patch uses an adaptive stride to sample pageblocks for free pages.  The
    more consecutive full pageblocks encountered, the larger the stride
    until a pageblock with free pages is found.  The scanners might meet
    slightly sooner but it is an acceptable risk given that the search of
    the free lists may still encounter the pages and adjust the cached PFN
    of the free scanner accordingly.
    
                                         5.0.0-rc1              5.0.0-rc1
                                  roundrobin-v3r17       samplefree-v3r17
    Amean     fault-both-1         0.00 (   0.00%)        0.00 *   0.00%*
    Amean     fault-both-3      2752.37 (   0.00%)     2729.95 (   0.81%)
    Amean     fault-both-5      4341.69 (   0.00%)     4397.80 (  -1.29%)
    Amean     fault-both-7      6308.75 (   0.00%)     6097.61 (   3.35%)
    Amean     fault-both-12    10241.81 (   0.00%)     9407.15 (   8.15%)
    Amean     fault-both-18    13736.09 (   0.00%)    10857.63 *  20.96%*
    Amean     fault-both-24    16853.95 (   0.00%)    13323.24 *  20.95%*
    Amean     fault-both-30    15862.61 (   0.00%)    17345.44 (  -9.35%)
    Amean     fault-both-32    18450.85 (   0.00%)    16892.00 (   8.45%)
    
    The latency is mildly improved offseting some overhead from earlier
    patches that are prerequisites for the rest of the series.  However, a
    major impact is on the free scan rate with an 82% reduction.
    
                                    5.0.0-rc1      5.0.0-rc1
                             roundrobin-v3r17 samplefree-v3r17
    Compaction migrate scanned    21607271            20116887
    Compaction free scanned       95336406            16668703
    
    It's also the first time in the series where the number of pages scanned
    by the migration scanner is greater than the free scanner due to the
    increased search efficiency.
    
    Link: http://lkml.kernel.org/r/20190118175136.31341-21-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>
    2de4a768
compaction.c 72.0 KB