提交 80a6a2cf 编写于 作者: L Li Zefan 提交者: Linus Torvalds

freezer_cg: remove redundant check in freezer_can_attach()

It is sufficient to check if @task is frozen, and no need to check if the
original freezer is frozen.
Signed-off-by: NLi Zefan <lizf@cn.fujitsu.com>
Acked-by: NCedric Le Goater <clg@fr.ibm.com>
Acked-by: NMatt Helsley <matthltc@us.ibm.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 7ccb9743
...@@ -162,9 +162,13 @@ static int freezer_can_attach(struct cgroup_subsys *ss, ...@@ -162,9 +162,13 @@ static int freezer_can_attach(struct cgroup_subsys *ss,
struct task_struct *task) struct task_struct *task)
{ {
struct freezer *freezer; struct freezer *freezer;
int retval;
/* Anything frozen can't move or be moved to/from */ /*
* Anything frozen can't move or be moved to/from.
*
* Since orig_freezer->state == FROZEN means that @task has been
* frozen, so it's sufficient to check the latter condition.
*/
if (is_task_frozen_enough(task)) if (is_task_frozen_enough(task))
return -EBUSY; return -EBUSY;
...@@ -173,13 +177,7 @@ static int freezer_can_attach(struct cgroup_subsys *ss, ...@@ -173,13 +177,7 @@ static int freezer_can_attach(struct cgroup_subsys *ss,
if (freezer->state == CGROUP_FROZEN) if (freezer->state == CGROUP_FROZEN)
return -EBUSY; return -EBUSY;
retval = 0; return 0;
task_lock(task);
freezer = task_freezer(task);
if (freezer->state == CGROUP_FROZEN)
retval = -EBUSY;
task_unlock(task);
return retval;
} }
static void freezer_fork(struct cgroup_subsys *ss, struct task_struct *task) static void freezer_fork(struct cgroup_subsys *ss, struct task_struct *task)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册