On Thu, 25 Aug 2011 10:40:06 +0200 Tejun Heo <tj@xxxxxxxxxx> wrote: > Hello, > > On Thu, Aug 25, 2011 at 10:21 AM, KAMEZAWA Hiroyuki > <kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote: > >> Hmmm... the above is basically identity transformation of the existing > >> code. If the above is broken, the current code is broken too. Is it? > >> > > Current code is not broken. > > Trust me. If the posted code is broken, the current code is too. It > is an IDENTITY transformation. > > > mem_cgroup_can_attach(....., task) need to do real job only when task->mm->owner > > == task. In this modification, you pass a set of task at once. > > Before the change, cgroup would migrate multiple tasks all the same > but memcg wouldn't have noticed it unless it opted in explicitly using > [can_]attach_task(). When multiple tasks were moving, [can_]attach() > would only be called with the leader whether the leader actually is > changing cgroup or not. The interface sucked and it wasn't properly > documented but that's what was happening. The interface change is just > making the breakage obvious - +1 for the new interface. :) > Thank you for clarification. Ok, current code is broken. > > So, mem_cgroup_can_attach() need to check _all_ tasks in tset rather than a > > first task in tset. please scan and find mm->owner. > > > > Anyway, if you merge this onto mm-tree first, I think I can have time to > > write a fix up if complicated. > > As for specific merging order, it shouldn't matter all that much but > if you wanna backport fixes for -stable, maybe it would make more > sense to sequence the fix before this change. > > Thank you. Sure. IIUC, the case thread_leader != mm->owner is uncommon. I'll consider a fix onto your fix, first. I'll cosinder a fix for stable tree if someone requests. Thanks, -Kame _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm