cgroup: don't use subsys->can_attach_task() or ->attach_task()
Now that subsys->can_attach() and attach() take @tset instead of @task, they can handle per-task operations. Convert ->can_attach_task() and ->attach_task() users to use ->can_attach() and attach() instead. Most converions are straight-forward. Noteworthy changes are, * In cgroup_freezer, remove unnecessary NULL assignments to unused methods. It's useless and very prone to get out of sync, which already happened. * In cpuset, PF_THREAD_BOUND test is checked for each task. This doesn't make any practical difference but is conceptually cleaner. Signed-off-by: Tejun Heo <tj@kernel.org> Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Reviewed-by: Frederic Weisbecker <fweisbec@gmail.com> Acked-by: Li Zefan <lizf@cn.fujitsu.com> Cc: Paul Menage <paul@paulmenage.org> Cc: Balbir Singh <bsingharora@gmail.com> Cc: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp> Cc: James Morris <jmorris@namei.org> Cc: Ingo Molnar <mingo@elte.hu> Cc: Peter Zijlstra <peterz@infradead.org>
This commit is contained in:
parent
2f7ee5691e
commit
bb9d97b6df
5 changed files with 91 additions and 82 deletions
|
@ -162,10 +162,14 @@ static int freezer_can_attach(struct cgroup_subsys *ss,
|
|||
struct cgroup_taskset *tset)
|
||||
{
|
||||
struct freezer *freezer;
|
||||
struct task_struct *task;
|
||||
|
||||
/*
|
||||
* Anything frozen can't move or be moved to/from.
|
||||
*/
|
||||
cgroup_taskset_for_each(task, new_cgroup, tset)
|
||||
if (cgroup_freezing(task))
|
||||
return -EBUSY;
|
||||
|
||||
freezer = cgroup_freezer(new_cgroup);
|
||||
if (freezer->state != CGROUP_THAWED)
|
||||
|
@ -174,11 +178,6 @@ static int freezer_can_attach(struct cgroup_subsys *ss,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int freezer_can_attach_task(struct cgroup *cgrp, struct task_struct *tsk)
|
||||
{
|
||||
return cgroup_freezing(tsk) ? -EBUSY : 0;
|
||||
}
|
||||
|
||||
static void freezer_fork(struct cgroup_subsys *ss, struct task_struct *task)
|
||||
{
|
||||
struct freezer *freezer;
|
||||
|
@ -374,10 +373,5 @@ struct cgroup_subsys freezer_subsys = {
|
|||
.populate = freezer_populate,
|
||||
.subsys_id = freezer_subsys_id,
|
||||
.can_attach = freezer_can_attach,
|
||||
.can_attach_task = freezer_can_attach_task,
|
||||
.pre_attach = NULL,
|
||||
.attach_task = NULL,
|
||||
.attach = NULL,
|
||||
.fork = freezer_fork,
|
||||
.exit = NULL,
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue