On 1/4/19 1:50 PM, Mel Gorman wrote: > Migrate has separate cached PFNs for ASYNC and SYNC* migration on the > basis that some migrations will fail in ASYNC mode. However, if the cached > PFNs match at the start of scanning and pageblocks are skipped due to > having no isolation candidates, then the sync state does not matter. > This patch keeps matching cached PFNs in sync until a pageblock with > isolation candidates is found. > > The actual benefit is marginal given that the sync scanner following the > async scanner will often skip a number of pageblocks but it's useless > work. Any benefit depends heavily on whether the scanners restarted > recently so overall the reduction in scan rates is a mere 2.8% which > is borderline noise. > > Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> My easlier suggestion to check more thoroughly if pages can be migrated (which depends on the mode) before isolating them wouldn't play nice with this :)