[Lxc-devel] [RFC] [PATCH] pidspace: is_init()

Eric W. Biederman ebiederm at xmission.com
Wed Aug 9 08:01:47 UTC 2006


Sukadev Bhattiprolu <sukadev at us.ibm.com> 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




More information about the lxc-devel mailing list