Re: [PATCH] cgroup_freezer: fix freezing groups with stopped tasks

From: Li Zefan
Date: Mon Nov 21 2011 - 21:18:25 EST


Tejun Heo wrote:
> Hello, Michal.
>
> On Wed, Nov 16, 2011 at 10:50:34PM +0100, Michal Hocko wrote:
>> +/* Task is frozen or will freeze immediately when next it gets woken */
>> +static bool is_task_frozen_enough(struct task_struct *task)
>> +{
>> + return frozen(task) ||
>> + (task_is_stopped_or_traced(task) && freezing(task));
>> +}
>
> Hmmm... w/ pending freezer updates, the above would always return
> %true if there's freezing in progress, which can't be right. Maybe

Only if the task is stopped/trace.

If we try to freeze a stopped task, it will be kept in freezing state.

> just test stopped/traced?
>

This can trigger a BUG_ON in update_if_frozen(), because we always count a
stopped task as frozen.

> http://git.kernel.org/?p=linux/kernel/git/tj/misc.git;a=shortlog;h=refs/heads/pm-freezer
>
> Thanks.
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/