Re: [PATCH] mm: memcontrol: rename memcg_kmem_enabled()

From: Roman Gushchin
Date: Tue Feb 14 2023 - 13:20:09 EST


On Tue, Feb 14, 2023 at 11:54:35AM +0800, Muchun Song wrote:
>
>
> > 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>

Thank you!

>
> 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.

It's a pair to mem_cgroup_disabled().

Thanks!