Re: [PATCH 3/4] mm, page_alloc: fix dirtyable highmem calculation

Johannes Weiner
2016-07-13T13:16:48Z

On Wed, Jul 13, 2016 at 11:00:03AM +0100, Mel Gorman wrote:
> From: Minchan Kim <minchan@kernel.org>
>
> Note from Mel: This may optionally be considered a fix to the mmotm patch
> mm-page_alloc-consider-dirtyable-memory-in-terms-of-nodes.patch
> but if so, please preserve credit for Minchan.
>
> When I tested vmscale in mmtest in 32bit, I found the benchmark was slow
> down 0.5 times.
>
> base node
> 1 global-1
> User 12.98 16.04
> System 147.61 166.42
> Elapsed 26.48 38.08
>
> With vmstat, I found IO wait avg is much increased compared to base.
>
> The reason was highmem_dirtyable_memory accumulates free pages and
> highmem_file_pages from HIGHMEM to MOVABLE zones which was wrong. With
> that, dirth_thresh in throtlle_vm_write is always 0 so that it calls
> congestion_wait frequently if writeback starts.
>
> With this patch, it is much recovered.
>
> base node fi
> 1 global-1 fix
> User 12.98 16.04 13.78
> System 147.61 166.42 143.92
> Elapsed 26.48 38.08 29.64
>
> Signed-off-by: Minchan Kim <minchan@kernel.org>
> Signed-off-by: Mel Gorman <mgorman@techsingularity.net>

Acked-by: Johannes Weiner <hannes@cmpxchg.org>