On Wed 08-07-15 19:01:59, Vladimir Davydov wrote: > On Wed, Jul 08, 2015 at 02:27:48PM +0200, Michal Hocko wrote: > > From: Michal Hocko <mhocko@xxxxxxx> > > > > 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@xxxxxxx> > > 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. Well the idea was that mem_cgroup_select_victim_node is specific to try_to_free_mem_cgroup_pages. It is basically a split up of otherwise large function for readability. Same applies to mem_cgroup_may_update_nodemask. Having that code together makes some sense to me. On the other hand I do agree that at least test_mem_cgroup_node_reclaimable is generally reusable and so it shouldn't be in vmscan. I can move it back to memcontrol but that leaves the generated code much worse. Fair enough then, I will drop this patch. -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>