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!