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

From: Muchun Song
Date: Mon Feb 13 2023 - 22:55:33 EST




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