On Mon 13-02-23 11:29:22, Roman Gushchin wrote: > Currently there are two kmem-related helper functions with a confusing > semantics: memcg_kmem_enabled() and mem_cgroup_kmem_disabled(). > > The problem is that an obvious expectation > memcg_kmem_enabled() == !mem_cgroup_kmem_disabled(), > can be false. > > mem_cgroup_kmem_disabled() is similar to mem_cgroup_disabled(): it > returns true only if CONFIG_MEMCG_KMEM is not set or the kmem > accounting is disabled using a boot time kernel option > "cgroup.memory=nokmem". It never changes the value dynamically. > > memcg_kmem_enabled() is different: it always returns false until > the first non-root memory cgroup will get online (assuming the kernel > memory accounting is enabled). It's goal is to improve the performance > on systems without the cgroupfs mounted/memory controller enabled or > on the systems with only the root memory cgroup. > > To make things more obvious and avoid potential bugs, let's rename > memcg_kmem_enabled() to memcg_kmem_online(). > > Signed-off-by: Roman Gushchin <roman.gushchin@xxxxxxxxx> > Cc: Johannes Weiner <hannes@xxxxxxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxxxxx> > Cc: Shakeel Butt <shakeelb@xxxxxxxxxx> > Cc: Muchun Song <muchun.song@xxxxxxxxx> > Cc: Dennis Zhou <dennis@xxxxxxxxxx> > Cc: linux-mm@xxxxxxxxx Makes sense Acked-by: Michal Hocko <mhocko@xxxxxxxx> Thanks! -- Michal Hocko SUSE Labs