• Vladimir Davydov's avatar
    memcg: zap memcg_can_account_kmem · cf2b8fbf
    Vladimir Davydov authored
    memcg_can_account_kmem() returns true iff
    
        !mem_cgroup_disabled() && !mem_cgroup_is_root(memcg) &&
                                       memcg_kmem_is_active(memcg);
    
    To begin with the !mem_cgroup_is_root(memcg) check is useless, because one
    can't enable kmem accounting for the root cgroup (mem_cgroup_write()
    returns EINVAL on an attempt to set the limit on the root cgroup).
    
    Furthermore, the !mem_cgroup_disabled() check also seems to be redundant.
    The point is memcg_can_account_kmem() is called from three places:
    mem_cgroup_salbinfo_read(), __memcg_kmem_get_cache(), and
    __memcg_kmem_newpage_charge().  The latter two functions are only invoked
    if memcg_kmem_enabled() returns true, which implies that the memory cgroup
    subsystem is enabled.  And mem_cgroup_slabinfo_read() shows the output of
    memory.kmem.slabinfo, which won't exist if the memory cgroup is completely
    disabled.
    
    So let's substitute all the calls to memcg_can_account_kmem() with plain
    memcg_kmem_is_active(), and kill the former.
    Signed-off-by: default avatarVladimir Davydov <vdavydov@parallels.com>
    Acked-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
    Cc: Michal Hocko <mhocko@suse.cz>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    cf2b8fbf
memcontrol.c 173 KB