Re: [PATCH] mm: memcontrol: restore proper dirty throttling when memory.high changes

From: Michal Hocko
Date: Fri Jul 31 2020 - 04:18:08 EST


On Tue 28-07-20 09:52:09, Johannes Weiner wrote:
> Commit 8c8c383c04f6 ("mm: memcontrol: try harder to set a new
> memory.high") inadvertently removed a callback to recalculate the
> writeback cache size in light of a newly configured memory.high limit.
>
> Without letting the writeback cache know about a potentially heavily
> reduced limit, it may permit too many dirty pages, which can cause
> unnecessary reclaim latencies or even avoidable OOM situations.
>
> This was spotted while reading the code, it hasn't knowingly caused
> any problems in practice so far.
>
> Fixes: 8c8c383c04f6 ("mm: memcontrol: try harder to set a new memory.high")
> Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>

Acked-by: Michal Hocko <mhocko@xxxxxxxx>

> ---
> mm/memcontrol.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index 13f559af1ab6..805a44bf948c 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -6071,6 +6071,7 @@ static ssize_t memory_high_write(struct kernfs_open_file *of,
> break;
> }
>
> + memcg_wb_domain_size_changed(memcg);
> return nbytes;
> }
>
> --
> 2.27.0

--
Michal Hocko
SUSE Labs