Re: [patch 1/3] mm: memcontrol: take a css reference for each charged page

Vladimir Davydov
2014-09-22T08:24:02Z

On Sat, Sep 20, 2014 at 04:00:33PM -0400, Johannes Weiner wrote:
> Charges currently pin the css indirectly by playing tricks during
> css_offline(): user pages stall the offlining process until all of
> them have been reparented, whereas kmemcg acquires a keep-alive
> reference if outstanding kernel pages are detected at that point.
>
> In preparation for removing all this complexity, make the pinning
> explicit and acquire a css references for every charged page.
>
> Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>

Reviewed-by: Vladimir Davydov <vdavydov@parallels.com>

Nit: In __mem_cgroup_clear_mc, we have the following hunk:

> for (i = 0; i < mc.moved_swap; i++)
> css_put(&mc.from->css);

Now we can simplify it using css_put_many.

Thanks,
Vladimir