lkml.org 
[lkml]   [2011]   [Nov]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] cgroup_freezer: fix freezing groups with stopped tasks
On Tue, Nov 22, 2011 at 10:20:02AM +0800, Li Zefan wrote:
> 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.

You're right, missed parantheses.

> 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.

So, yeah, the patch looks good to me, but it still isn't difficult to
trigger BUG_ON() there. We need a lot of fixes in cgroup_freezer.

Thanks.

--
tejun


\
 
 \ /
  Last update: 2011-11-22 03:23    [W:0.126 / U:0.288 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site