Re: [PATCH 16/34] mm: compaction: Allow compaction to isolate dirty pages

Greg KH
2012-07-25T15:47:51Z

On Mon, Jul 23, 2012 at 02:38:29PM +0100, Mel Gorman wrote:
> commit a77ebd333cd810d7b680d544be88c875131c2bd3 upstream.
>
> Stable note: Not tracked in Bugzilla. A fix aimed at preserving page aging
> information by reducing LRU list churning had the side-effect of
> reducing THP allocation success rates. This was part of a series
> to restore the success rates while preserving the reclaim fix.
>
> Commit [39deaf85: mm: compaction: make isolate_lru_page() filter-aware]
> noted that compaction does not migrate dirty or writeback pages and
> that is was meaningless to pick the page and re-add it to the LRU list.
>
> What was missed during review is that asynchronous migration moves
> dirty pages if their ->migratepage callback is migrate_page() because
> these can be moved without blocking. This potentially impacted
> hugepage allocation success rates by a factor depending on how many
> dirty pages are in the system.
>
> This patch partially reverts 39deaf85 to allow migration to isolate
> dirty pages again. This increases how much compaction disrupts the
> LRU but that is addressed later in the series.
>
> Signed-off-by: Mel Gorman <mgorman@suse.de>
> Reviewed-by: Andrea Arcangeli <aarcange@redhat.com>
> Reviewed-by: Rik van Riel <riel@redhat.com>
> Reviewed-by: Minchan Kim <minchan.kim@gmail.com>

Note, the changelog here differs from what is in Linus's tree by a LOT.
I took the version in Linus's tree instead.

greg k-h