On Tue, Mar 3, 2020 at 4:29 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > > On Tue, 3 Mar 2020 15:22:00 -0800 Shakeel Butt <shakeelb@xxxxxxxxxx> wrote: > > > > doesn't corrupt its state. > > > > > > I.e. this is safe: > > > > > > process: interrupt: > > > old = current->active_memcg > > > old = current->active_memcg > > > current->active_memcg = new > > > allocate > > > current->active_memcg = old > > > current->active_memcg = new > > > return old > > > > > > This is safe as well: > > > > > > process: interrupt: > > > old = current->active_memcg > > > current->active_memcg = new > > > old = current->active_memcg > > > current->active_memcg = new > > > allocate > > > current->active_memcg = old > > > return old > > > > Yes, you are right. Thanks for the explanation. > > Thanks, all. > > Dan, I dropped the three-patch series > > loop-use-worker-per-cgroup-instead-of-kworker.patch > mm-charge-active-memcg-when-no-mm-is-set.patch > loop-charge-i-o-to-mem-and-blk-cg.patch > > When convenient, could you please prepend Johannes' patch to the > series, retest and resend? While doing so, please figure out why you > didn't also see this warning in your testing and make the appropriate > changes! > Hi Dan, did you get the chance to follow up on Andrew's request? Shakeel