On Mon, 9 Jun 2014, Vlastimil Babka wrote: > Unlike the migration scanner, the free scanner remembers the beginning of the > last scanned pageblock in cc->free_pfn. It might be therefore rescanning pages > uselessly when called several times during single compaction. This might have > been useful when pages were returned to the buddy allocator after a failed > migration, but this is no longer the case. > > This patch changes the meaning of cc->free_pfn so that if it points to a > middle of a pageblock, that pageblock is scanned only from cc->free_pfn to the > end. isolate_freepages_block() will record the pfn of the last page it looked > at, which is then used to update cc->free_pfn. > > In the mmtests stress-highalloc benchmark, this has resulted in lowering the > ratio between pages scanned by both scanners, from 2.5 free pages per migrate > page, to 2.25 free pages per migrate page, without affecting success rates. > > Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> > Cc: Minchan Kim <minchan@xxxxxxxxxx> > Cc: Mel Gorman <mgorman@xxxxxxx> > Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> > Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> > Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> > Cc: Christoph Lameter <cl@xxxxxxxxx> > Cc: Rik van Riel <riel@xxxxxxxxxx> > Cc: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>