Thread (1 message) 1 message, 1 author, 2011-08-25

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help