• Glauber Costa's avatar
    cgroup: pass struct mem_cgroup instead of struct cgroup to socket memcg · 1d62e436
    Glauber Costa authored
    The only reason cgroup was used, was to be consistent with the populate()
    interface. Now that we're getting rid of it, not only we no longer need
    it, but we also *can't* call it this way.
    
    Since we will no longer rely on populate(), this will be called from
    create(). During create, the association between struct mem_cgroup
    and struct cgroup does not yet exist, since cgroup internals hasn't
    yet initialized its bookkeeping. This means we would not be able
    to draw the memcg pointer from the cgroup pointer in these
    functions, which is highly undesirable.
    Signed-off-by: default avatarGlauber Costa <glommer@parallels.com>
    Acked-by: default avatarKamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    CC: Li Zefan <lizefan@huawei.com>
    CC: Johannes Weiner <hannes@cmpxchg.org>
    CC: Michal Hocko <mhocko@suse.cz>
    1d62e436
memcontrol.c 146 KB