Re: [linux-pm] 2.6.21-rc4-mm1: freezing of processes broken

From: Oleg Nesterov
Date: Wed Mar 21 2007 - 13:12:14 EST


On 03/21, Oleg Nesterov wrote:
>
> On 03/21, Andrew Morton wrote:
> >
> > On Wed, 21 Mar 2007 15:45:16 +0100 "Rafael J. Wysocki" <rjw@xxxxxxx> wrote:
> >
> > > On Wednesday, 21 March 2007 15:23, Oleg Nesterov wrote:
> > > > >
> > > > > Could the freezer code be trying to freeze the idle thread as a result?
> > > >
> > > > Yes. remove-the-likelypid-check-in-copy_process.patch make idle threads
> > > > visible to for_each_process/do_each_thread. Note also that idle threads
> > > > have ->mm != NULL. freezer, oom_kill, move_task_off_dead_cpu, etc, should
> > > > not see idle threads, but they do now.
> > >
> > > Well, I think this is a good enough reason for asking Andrew to drop this
> > > patch.
> >
> > Or we change the freezer to skip pid==0 tasks.
>
> I strongly disagree. In that case we should audit all users of for_each_process.

Just in case, this is not the only problem with this patch. The things like
attach_pid(PIDTYPE_PGID/PIDTYPE_SID) or add_parent() are wrong for the idle
threads unless the parent is "swapper". But this is not always so.

Oleg.

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