lkml.org 
[lkml]   [2011]   [Aug]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 12/16] freezer: clean up freeze_processes() failure path
Date
On Monday, August 29, 2011, Tejun Heo wrote:
> Hello,
>
> On Sun, Aug 28, 2011 at 08:09:01PM +0200, Oleg Nesterov wrote:
> > This was copied from cancel_, yes. but what this
> > recalc_sigpending_and_wake() can or should do?
> >
> > It looks simply pointless. It can't clear TIF_SIGPENDING,
> > it can only do the unneeded/spurious wake_up(INTERRUPTIBLE).
>
> Yeah, I just copied it over. It seems it got confused between
> recalc_sigpending() and recalc_sigpending_and_wake() where the latter
> can't clear TIF_SIGPENDING. The signallable freezable kthread seems
> quite fragile. Once TIF_SIGPENDING is set, the only way for it to be
> cleared for a kthread is going through refrigerator and if freezing
> gets canceled before that happens, the kthread will have stuck
> TIF_SIGPENDING failing interruptible sleeps. We'll probably should
> move recalc_sigpending() to the top of refrigerator.
>
> But that said, I don't see any in-kernel user of
> set_freezable_with_signal(). Rafael, is there scheduled to be some
> new user of this API?

I'm not aware of any.

> It would be awesome if we can drop it.

Indeed.

Thanks,
Rafael


\
 
 \ /
  Last update: 2011-08-29 09:41    [from the cache]
©2003-2011 Jasper Spaans