On 1/4/19 1:50 PM, Mel Gorman wrote: > As compaction proceeds and creates high-order blocks, the free list > search gets less efficient as the larger blocks are used as compaction > targets. Eventually, the larger blocks will be behind the migration > scanner for partially migrated pageblocks and the search fails. This > patch round-robins what orders are searched so that larger blocks can be > ignored and find smaller blocks that can be used as migration targets. > > The overall impact was small on 1-socket but it avoids corner cases where > the migration/free scanners meet prematurely or situations where many of > the pageblocks encountered by the free scanner are almost full instead of > being properly packed. Previous testing had indicated that without this > patch there were occasional large spikes in the free scanner without this > patch. By co-incidence, the 2-socket results showed a 54% reduction in > the free scanner but will not be universally true. > > Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx>