Messages in this thread | | | Date | Mon, 22 Oct 2012 17:25:05 -0400 | From | Tejun Heo <> | Subject | Re: [PATCH 5/7] cgroup_freezer: allow moving tasks in and out of a frozen cgroup |
| |
Hello,
On Mon, Oct 22, 2012 at 09:25:06PM +0200, Oleg Nesterov wrote: > > @@ -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. It might not be strictly necessary but I think it's more consistent this way. No?
Thanks.
-- tejun
| |