lkml.org 
[lkml]   [2022]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] mm/memcontrol: Skip root memcg in memcg_memory_event_mm
From


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.

\
 
 \ /
  Last update: 2022-12-16 09:38    [W:0.103 / U:0.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site