On Fri 07-02-14 12:04:25, Johannes Weiner wrote: > Some callsites pass a memcg directly, some callsites pass a mm that > first has to be translated to an mm. This makes for a terrible > function interface. > > Just push the mm-to-memcg translation into the respective callsites > and always pass a memcg to mem_cgroup_try_charge(). > > Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> OK if you really think that repeating the same pattern when charging against mm is better then I can live with that. It is a trivial amount of code. [...] > @@ -3923,21 +3895,17 @@ static int __mem_cgroup_try_charge_swapin(struct mm_struct *mm, > */ > if (PageCgroupUsed(pc)) > return 0; I think that we should set *memcgp in this path rather than rely on caller to do the right thing. Both current callers do so but it is not nice. And the detail why we need NULL is quite subtle so a comment mentioning that __mem_cgroup_commit_charge_swapin has to ignore such a page would be more than welcome. [...] Other than that looks good to me. -- 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>