[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20111122022118.GT25776@google.com>
Date: Mon, 21 Nov 2011 18:21:18 -0800
From: Tejun Heo <htejun@...il.com>
To: Li Zefan <lizf@...fujitsu.com>
Cc: Michal Hocko <mhocko@...e.cz>, linux-kernel@...r.kernel.org,
cgroups@...r.kernel.org, containers@...ts.linux-foundation.org,
Tomasz Buchert <tomasz.buchert@...ia.fr>,
Paul Menage <paul@...lmenage.org>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists