Re: [PATCH 2/6] cgroup: improve old cgroup handling in cgroup_attach_proc()
From: Paul Menage <hidden>
Date: 2011-08-25 09:42:46
On Tue, Aug 23, 2011 at 3:19 PM, Tejun Heo [off-list ref] wrote:
cgroup_attach_proc() behaves differently from cgroup_attach_task() in the following aspects. * All hooks are invoked even if no task is actually being moved. * ->can_attach_task() is called for all tasks in the group whether the new cgrp is different from the current cgrp or not; however, ->attach_task() is skipped if new equals new. This makes the calls asymmetric. This patch improves old cgroup handling in cgroup_attach_proc() by looking up the current cgroup at the head, recording it in the flex array along with the task itself, and using it to remove the above two differences. This will also ease further changes. Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Paul Menage <redacted> With the later cgroup_taskset changes making use of the same flex array, I guess I agree that leaving all the tasks in the array makes sense.
+ int retval, i, group_size, nr_todo;
I'd be inclined to call "nr_todo" something like "nr_migrating_tasks" for clarity.