Re: [PATCH 4/8] memcg, mm: move mem_cgroup_select_victim_node into vmscan

Vladimir Davydov
2015-07-08T16:02:24Z

On Wed, Jul 08, 2015 at 02:27:48PM +0200, Michal Hocko wrote:
> From: Michal Hocko <mhocko@suse.cz>
>
> We currently have only one caller of mem_cgroup_select_victim_node which
> is sitting in mm/vmscan.c and which is already wrapped by CONFIG_MEMCG
> ifdef. Now that we have struct mem_cgroup visible outside of
> mm/memcontrol.c we can move the function and its dependencies there.
> This even shrinks the code size by few bytes:
>
> text data bss dec hex filename
> 478509 65806 26384 570699 8b54b mm/built-in.o.before
> 478445 65806 26384 570635 8b50b mm/built-in.o.after
>
> Signed-off-by: Michal Hocko <mhocko@suse.cz>

I dislike this patch, because I don't see any reason why logic specific
to per memcg reclaim should live in the file representing the global
reclaim path. With such an approach you may end up with moving
mem_cgroup_low, mem_cgroup_soft_limit_reclaim, etc to vmscan.c, because
they are used only there. I don't think it's right.

Thanks,
Vladimir