Messages in this thread | | | Date | Fri, 25 Jul 2014 13:35:32 +0100 | From | Mel Gorman <> | Subject | Re: [PATCH V4 10/15] mm, compaction: remember position within pageblock in free pages scanner |
| |
On Wed, Jul 16, 2014 at 03:48:18PM +0200, 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. > > With __GFP_NO_KSWAPD allocations, this appears to result in a worse ratio (2.1 > instead of 1.8), but page migration successes increased by 10%, so this could > mean that more useful work can be done until need_resched() aborts this kind > of compaction. > > Signed-off-by: Vlastimil Babka <vbabka@suse.cz> > Reviewed-by: Zhang Yanfei <zhangyanfei@cn.fujitsu.com> > Reviewed-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> > Acked-by: David Rientjes <rientjes@google.com> > Acked-by: Minchan Kim <minchan@kernel.org>
Acked-by: Mel Gorman <mgorman@suse.de>
-- Mel Gorman SUSE Labs
| |