aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorMel Gorman <[email protected]>2019-03-05 15:45:38 -0800
committerLinus Torvalds <[email protected]>2019-03-05 21:07:17 -0800
commite332f741a8dd1ec9a6dc8aa997296ecbfe64323e (patch)
treeb336a96e0c0073222608d70f4e029d259bfd8691 /tools/perf/scripts/python
parent4fca9730c51d51f643f2a3f8f10ebd718349c80f (diff)
mm, compaction: be selective about what pageblocks to clear skip hints
Pageblock hints are cleared when compaction restarts or kswapd makes enough progress that it can sleep but it's over-eager in that the bit is cleared for migration sources with no LRU pages and migration targets with no free pages. As pageblock skip hint flushes are relatively rare and out-of-band with respect to kswapd, this patch makes a few more expensive checks to see if it's appropriate to even clear the bit. Every pageblock that is not cleared will avoid 512 pages being scanned unnecessarily on x86-64. The impact is variable with different workloads showing small differences in latency, success rates and scan rates. This is expected as clearing the hints is not that common but doing a small amount of work out-of-band to avoid a large amount of work in-band later is generally a good thing. Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Mel Gorman <[email protected]> Signed-off-by: Qian Cai <[email protected]> Acked-by: Vlastimil Babka <[email protected]> Cc: Andrea Arcangeli <[email protected]> Cc: Dan Carpenter <[email protected]> Cc: David Rientjes <[email protected]> Cc: YueHaibing <[email protected]> [[email protected]: no stuck in __reset_isolation_pfn()] Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions