Re: [PATCH v2 2/3] mm: Force update of mem cgroup soft limit tree on usage excess
From: Tim Chen
Date: Thu Feb 25 2021 - 17:28:08 EST
On 2/22/21 9:41 AM, Tim Chen wrote:
>
>
>
On 2/22/21 12:40 AM, Michal Hocko wrote:
>
> On Fri 19-02-21 10:59:05, Tim Chen wrote:
>
occurrence.
>
>>>
>
>>> Soft limit is evaluated every THRESHOLDS_EVENTS_TARGET * SOFTLIMIT_EVENTS_TARGET.
>
>>> If all events correspond with a newly charged memory and the last event
>
>>> was just about the soft limit boundary then we should be bound by 128k
>
>>> pages (512M and much more if this were huge pages) which is a lot!
>
>>> I haven't realized this was that much. Now I see the problem. This would
>
>>> be a useful information for the changelog.
>
>>>
>
>>> Your fix is focusing on the over-the-limit boundary which will solve the
>
>>> problem but wouldn't that lead to to updates happening too often in
>
>>> pathological situation when a memcg would get reclaimed immediatelly?
>
>>
>
>> Not really immediately. The memcg that has the most soft limit excess will
>
>> be chosen for page reclaim, which is the way it should be.
>
>> It is less likely that a memcg that just exceeded
>
>> the soft limit becomes the worst offender immediately.
>
>
>
> Well this all depends on when the the soft limit reclaim triggeres. In
>
> other words how often you see the global memory reclaim. If we have a
>
> memcg with a sufficient excess then this will work mostly fine. I was more
>
> worried about a case when you have memcgs just slightly over the limit
>
> and the global memory pressure is a regular event. You can easily end up
>
> bouncing memcgs off and on the tree in a rapid fashion.
>
>
>
>
If you are concerned about such a case, we can add an excess threshold,
>
say 4 MB (or 1024 4K pages), before we trigger a forced update. You think
>
that will cover this concern?
>
Michal,
How about modifiying this patch with a threshold? Like the following?
Tim
---