Re: [RFC][PATCH -mm] Freezer: Handle uninterruptible tasks

From: Nigel Cunningham
Date: Fri Jul 06 2007 - 19:47:00 EST


Hi.

On Saturday 07 July 2007 08:56:21 Rafael J. Wysocki wrote:
> On Friday, 6 July 2007 22:26, Oleg Nesterov wrote:
> > Rafael J. Wysocki wrote:
> > >
> > > This patch makes the freezer skip uninterruptible user space tasks (ie.
such
> > > that have an mm of their own) when counting the tasks to be frozen. As
a
> > > result, these tasks have the TIF_FREEZE and TIF_SIGPENDING flags set,
but the
> > > freezer doesn't wait for them to enter the refrigerator. Nevertheless,
they
> > > will enter the refrigerator as soon as they change their state.
> >
> > A small correction: they will enter the refrigerator on return to
user-space.
>
> Yes, I should have written that explicitly.
>
> > Actually, TASK_INTERRUPTIBLE doesn't mean the task actually sleeps. It
could
> > be running or preempted... I am a bit worried :)
>
> Fortunately, similar approach has been tested quite extensively by suspend2,
> IIRC. :-)

That's right. I used to signal TASK_UNINTERRUPTIBLE (I take it the
INTERRUPTIBLE above is a typo) tasks, but ignore them when deciding whether
freezing was successful.

I've since dropped those modifications, but only because I'm actively trying
to get closer to mainline.

Regards,

Nigel
--
Nigel Cunningham
Christian Reformed Church of Cobden
103 Curdie Street, Cobden 3266, Victoria, Australia
Ph. +61 3 5595 1185 / +61 417 100 574
Communal Worship: 11 am Sunday.

Attachment: pgp00000.pgp
Description: PGP signature