Re: [PATCH 2/3] mm, memcg: Remove obsolete memcg_free_kmem()

From: Waiman Long
Date: Fri Oct 01 2021 - 22:03:22 EST


On 10/1/21 8:01 PM, Roman Gushchin wrote:
On Fri, Oct 01, 2021 at 03:09:37PM -0400, Waiman Long wrote:
Since commit d648bcc7fe65 ("mm: kmem: make memcg_kmem_enabled()
irreversible"), the only thing memcg_free_kmem() does is to call
memcg_offline_kmem() when the memcg is still online. However,
memcg_offline_kmem() is only called from mem_cgroup_css_free() which
cannot be reached if the memcg hasn't been offlined first.
Hm, is it true? What if online_css() fails?
I just realize that memcg_online_kmem() is called at css_create(). So yes, if css_online() fails (i.e. ENOMEM), we will need to do memcg_offline_kmem().
As this
function now serves no purpose, we should just remove it.
It looks like we can just use memcg_offline_kmem() instead of
memcg_free_kmem().

Right, memcg_free_kmem() isn't the right name for that. I agree that we should just change mem_cgroup_css_free() to call memcg_offline_kmem() directly. Will update the patch accordingly.

Thanks,
Longman