[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <55DADB11.6070000@suse.cz>
Date: Mon, 24 Aug 2015 10:51:29 +0200
From: Vlastimil Babka <vbabka@...e.cz>
To: Joonsoo Kim <iamjoonsoo.kim@....com>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org,
Mel Gorman <mgorman@...e.de>, Rik van Riel <riel@...hat.com>,
David Rientjes <rientjes@...gle.com>,
Minchan Kim <minchan@...nel.org>
Subject: Re: [PATCH] mm/compaction: correct to flush migrated pages if
pageblock skip happens
On 08/21/2015 05:56 AM, Joonsoo Kim wrote:
> We cache isolate_start_pfn before entering isolate_migratepages().
> If pageblock is skipped in isolate_migratepages() due to whatever reason,
> cc->migrate_pfn could be far from isolate_start_pfn hence flushing pages
> that were freed happens. For example, following scenario can be possible.
>
> - assume order-9 compaction, pageblock order is 9
> - start_isolate_pfn is 0x200
> - isolate_migratepages()
> - skip a number of pageblocks
> - start to isolate from pfn 0x600
> - cc->migrate_pfn = 0x620
> - return
> - last_migrated_pfn is set to 0x200
> - check flushing condition
> - current_block_start is set to 0x600
> - last_migrated_pfn < current_block_start then do useless flush
>
> This wrong flush would not help the performance and success rate so
> this patch try to fix it. One simple way to know exact position
> where we start to isolate migratable pages is that we cache it
> in isolate_migratepages() before entering actual isolation. This patch
> implements it and fix the problem.
Yeah, that should work.
> Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@....com>
Acked-by: Vlastimil Babka <vbabka@...e.cz>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists