Re: [RFC PATCH] freezer: allow killing of frozen tasks

From: Rafael J. Wysocki
Date: Tue Aug 20 2013 - 08:19:48 EST


On Tuesday, August 20, 2013 08:18:19 AM Tejun Heo wrote:
> Hello,
>
> On Tue, Aug 20, 2013 at 02:23:32PM +0200, Rafael J. Wysocki wrote:
> > On Tuesday, August 20, 2013 01:20:03 PM Bartlomiej Zolnierkiewicz wrote:
> > > Change __refrigerator() to allow SIGKILL signal handling during
> > > the frozen state (by setting task to a TASK_KILLABLE state instead
> > > of TASK_UNINTERRUPTIBLE one before entering sleep) and make tasks
> > > leave __refrigerator() upon receiving such signal.
> > >
> > > These changes allow frozen tasks to be killed immediately without
> > > the need to thaw them first.
> > >
> > > Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx>
> > > Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
> >
> > Well, it doesn't sound like an entirely bad idea to me, but I'd like to know
> > what Colin and Tejun (CCed now) think about it.
>
> The problem is that we really don't know where each task is frozen in
> the kernel so don't know what happens after the task leaves the
> freezer is safe whether it's dying or not. We don't have any rules
> restricting where a freeze point should be and a task may do any
> operation between freezer and actual exit.
>
> So, I don't think we can simply turn TASK_UNITERRUPTIBLE to
> TASK_KILLABLE at this point. We really need to strictly define where
> a task can freeze before being able to do anything like this.

But we could do that for user space tasks I suppose?

Rafael

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