Re: [PATCH 2/3] mm, memcg: Remove obsolete memcg_free_kmem()
From: Waiman Long <hidden>
Date: 2021-10-02 02:03:19
Also in:
linux-mm, lkml
From: Waiman Long <hidden>
Date: 2021-10-02 02:03:19
Also in:
linux-mm, lkml
On 10/1/21 8:01 PM, Roman Gushchin wrote:
On Fri, Oct 01, 2021 at 03:09:37PM -0400, Waiman Long wrote:quoted
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().
quoted
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