From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tejun Heo Subject: Re: [PATCH] cgroup_freezer: fix freezing groups with stopped tasks Date: Mon, 21 Nov 2011 18:21:18 -0800 Message-ID: <20111122022118.GT25776@google.com> References: <1321480234-29241-1-git-send-email-mhocko@suse.cz> <20111121230709.GR25776@google.com> <4ECB06D2.6060106@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=yBiO2tWYSwmqY4ntpUbKuXwr208VNYSQpkmuG5enXyU=; b=VPo45v21XfYuGLv7l6whKqSV/aErCHPJMaF6h4aApmLAx8TbqrIH3LpVQAGROwdWfh m5RsjQ8DPUoYxu40kWQsIf4gUgjiZxliq7UGYsrKWE3T+abP7aVNA2GnZvaxakDfyt/f Th1hfUOOicaUk3MYDeE07LEYOe4H15prwgtq0= Content-Disposition: inline In-Reply-To: <4ECB06D2.6060106-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Li Zefan Cc: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Michal Hocko , Tomasz Buchert , cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Andrew Morton , Paul Menage 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