Re: [RFC] [PATCH] pidspace: is_init()

From: Eric W. Biederman
Date: Wed Aug 09 2006 - 03:59:55 EST


Sukadev Bhattiprolu <sukadev@xxxxxxxxxx> writes:

> This is an updated version of Eric Biederman's is_init() patch.
> (http://lkml.org/lkml/2006/2/6/280). It applies cleanly to 2.6.18-rc2
> and replaces a few more instances of ->pid == 1 with is_init().
>
> Further, is_init() checks pid and thus removes dependency on Eric's
> other patches for now.

Sorry for the delay. I've been catching up on other things before
I dived back in.

> Couple of questions:
>
> Are there cases where child_reaper is not pid = 1. Should the
> "tsk == child_reaper" check in do_exit() be replaced with is_init() ?

There are cases where there are multiple child_reapers.
So is_init() is not the right test there.

There is a really weird case when you have a threaded init and the primary
thread exits where things get weird. As I recall there wind up being two
tasks with tgid == 1 and pid == 1. So simply testing the pid is not
sufficient.

> Looks like, we would need a similar, is_idle() wrapper for "pid==0"
> checks - although the name is_idle_task() maybe more intuitive. If
> so, should we rename is_init() to is_init_task() ?

Whatever works. I'm not too particular as long as the important bits happen.
However pid == 0 only ever lives in the root pspace and never shows up in
the pid hash tables so we can get away without a special check.

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