> On Feb 14, 2023, at 03:29, Roman Gushchin <roman.gushchin@xxxxxxxxx> 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> It's more clear. Acked-by: Muchun Song <songmuchun@xxxxxxxxxxxxx> BTW, I also dislike the name of mem_cgroup_kmem_disabled, it is not harmonious with memcg_kmem_enabled since the prefix of one is "mem_cgroup", another is "memcg". Maybe we could make them more consistent. Anyway, it is not related to this patch. Thanks.