[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <c1d2cf16-8fba-4c79-4c1e-f95e5685e509@shopee.com>
Date: Fri, 16 Dec 2022 16:37:49 +0800
From: Haifeng Xu <haifeng.xu@...pee.com>
To: Shakeel Butt <shakeelb@...gle.com>
Cc: akpm@...ux-foundation.org, roman.gushchin@...ux.dev,
songmuchun@...edance.com, hannes@...xchg.org, vbabka@...e.cz,
willy@...radead.org, vasily.averin@...ux.dev,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mm/memcontrol: Skip root memcg in memcg_memory_event_mm
On 2022/12/16 16:17, Shakeel Butt wrote:
> On Fri, Dec 16, 2022 at 03:50:49PM +0800, Haifeng Xu wrote:
>>
>>
>> On 2022/12/16 15:36, Shakeel Butt wrote:
>>> On Fri, Dec 16, 2022 at 03:28:53PM +0800, Haifeng Xu wrote:
>>>>
>>>>
>>>> On 2022/12/16 14:42, Shakeel Butt wrote:
>>>>> On Fri, Dec 16, 2022 at 09:43:02AM +0800, Haifeng Xu wrote:
>>>>>>
>>>>>>
>>>>>> On 2022/12/16 02:18, Shakeel Butt wrote:
>>>>>>> On Thu, Dec 15, 2022 at 09:19:07AM +0000, Haifeng Xu wrote:
>>>>>>>> The memory events aren't supported on root cgroup, so there is no need
>>>>>>>> to account MEMCG_OOM_KILL on root memcg.
>>>>>>>>
>>>>>>>
>>>>>>> Can you explain the scenario where this is happening and causing issue
>>>>>>> for you?
>>>>>>>
>>>>>> If the victim selected by oom killer belongs to root memcg, memcg_memory_event_mm
>>>>>> still counts the MEMCG_OOM_KILL event. This behavior is meaningless because the
>>>>>> flag of events/events.local in memory_files is CFTYPE_NOT_ON_ROOT. The root memcg
>>>>>> does not count any memory event.
>>>>>>
>>>>>
>>>>> What about v1's memory.oom_control?
>>>>>
>>>>
>>>> The memory.oom_control doesn't set the CFTYPE_NOT_ON_ROOT flag. But oom_kill_disable or
>>>> under_oom actually only support non-root memcg, so the memory_events should be consistent
>>>> with them.
>>>
>>> Did you take a look at mem_cgroup_oom_control_read()? It is displaying
>>> MEMCG_OOM_KILL for root memcg. Irrespective it makes sense or not, you
>>> want to change behavior of user visible interface. If you really want to
>>> then propose for the deprecation of that interface.
>>
>> Yes, I have see it in mem_cgroup_oom_control_read() and I think that
>> showing MEMCG_OOM_KILL for root memcg doesn't make much sense.
>>
>
> It doesn't matter as there might already be users using it.
>
>> Shoud I add the CFTYPE_NOT_ON_ROOT flag for cgroup v1?
>>
>
> Before doing anything, I am still not seeing why we really need this
> patch? What exactly is the issue this patch is trying to solve? To me
> this patch is negatively impacting the readability of the code. Unless
> you are seeing some real production issues, I don't think we need to add
> any special casing for MEMCG_OOM_KILL here.
As we can see in memcg_memory_event(), memory event never be count in root
memcg. Passing the root memcg to it seems somewhat self-contradictory. Also,
cgroup v2 doesn't need this.
Powered by blists - more mailing lists