Thread (63 messages) 63 messages, 7 authors, 2012-12-28

Re: [PATCH 5/7] cgroup_freezer: allow moving tasks in and out of a frozen cgroup

From: Oleg Nesterov <hidden>
Date: 2012-10-23 16:13:09
Also in: lkml

On 10/22, Tejun Heo wrote:
Hello,

On Mon, Oct 22, 2012 at 09:25:06PM +0200, Oleg Nesterov wrote:
quoted
quoted
@@ -190,12 +201,12 @@ static void freezer_fork(struct task_struct *task)
 		goto out;

 	spin_lock_irq(&freezer->lock);
-	BUG_ON(freezer->state == CGROUP_FROZEN);
-
-	/* Locking avoids race with FREEZING -> THAWED transitions. */
-	if (freezer->state == CGROUP_FREEZING)
+	/*
+	 * @task might have been just migrated into a FROZEN cgroup.
Confused. If it was migrated, then freezer_attach() should take care
do freeze_task?
Hmmm... there's a window where a task is migrated but ->attach()
hasn't completed yet, so freezer_attach() might not have kicked in
yet.
Yes, I see.

Indeed, cgroup_task_migrate() is called before ->attach().

Thanks!

Oleg.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help