Re: [PATCH] mm, memcg: Bypass high reclaim iteration for cgroup hierarchy root

From: Andrew Morton
Date: Wed Apr 01 2020 - 21:23:11 EST


On Thu, 12 Mar 2020 16:41:37 +0000 Chris Down <chris@xxxxxxxxxxxxxx> wrote:

> The root of the hierarchy cannot have high set, so we will never reclaim
> based on it. This makes that clearer and avoids another entry.
>
> ...
>
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -2232,7 +2232,8 @@ static void reclaim_high(struct mem_cgroup *memcg,
> continue;
> memcg_memory_event(memcg, MEMCG_HIGH);
> try_to_free_mem_cgroup_pages(memcg, nr_pages, gfp_mask, true);
> - } while ((memcg = parent_mem_cgroup(memcg)));
> + } while ((memcg = parent_mem_cgroup(memcg)) &&
> + !mem_cgroup_is_root(memcg));
> }
>
> static void high_work_func(struct work_struct *work)

Does someone have time to review this one?

Thanks.