Re: [PATCH 3/6] cgroup: introduce cgroup_taskset and use it in subsys->can_attach(), cancel_attach() and attach()
From: KAMEZAWA Hiroyuki <hidden>
Date: 2011-08-25 08:37:50
On Thu, 25 Aug 2011 10:40:06 +0200 Tejun Heo [off-list ref] wrote:
Hello, On Thu, Aug 25, 2011 at 10:21 AM, KAMEZAWA Hiroyuki [off-list ref] wrote:quoted
quoted
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.quoted
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.
quoted
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@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/linux-pm