lkml.org 
[lkml]   [2022]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 1/3] mm, memcg: Don't put offlined memcg into local stock
From
On 1/31/22 12:01, Roman Gushchin wrote:
> On Sun, Jan 30, 2022 at 10:55:56PM -0500, Waiman Long wrote:
>> On 10/1/21 19:51, Roman Gushchin wrote:
>>> On Fri, Oct 01, 2021 at 03:09:36PM -0400, Waiman Long wrote:
>>>> When freeing a page associated with an offlined memcg, refill_stock()
>>>> will put it into local stock delaying its demise until another memcg
>>>> comes in to take its place in the stock. To avoid that, we now check
>>>> for offlined memcg and go directly in this case to the slowpath for
>>>> the uncharge via the repurposed cancel_charge() function.
>>> Hi Waiman!
>>>
>>> I'm afraid it can make a cleanup of a dying cgroup slower: for every
>>> released page we'll potentially traverse the whole cgroup tree and
>>> decrease atomic page counters.
>>>
>>> I'm not sure I understand the benefits we get from this change which
>>> do justify the slowdown on the cleanup path.
>>>
>>> Thanks!
>> I was notified of a lockdep splat that this patch may help to prevent.
> Would you mind to test this patch:
> https://www.spinics.net/lists/cgroups/msg31244.html ?
>
> It should address this dependency.

Thanks for the pointer. I believe that your patch should be able to
address this circular locking dependency.

Feel free to add my

Reviewed-by: Waiman Long <longman@redhat.com>

Cheers,
Longman

\
 
 \ /
  Last update: 2022-01-31 18:09    [W:0.062 / U:1.872 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site