Re: init's children list is long and slows reaping children.

From: Eric W. Biederman
Date: Fri Apr 06 2007 - 16:01:22 EST


Oleg Nesterov <oleg@xxxxxxxxxx> writes:

> On 04/06, Oleg Nesterov wrote:
>>
>> --- t/kernel/exit.c~ 2007-04-06 23:31:31.000000000 +0400
>> +++ t/kernel/exit.c 2007-04-06 23:31:57.000000000 +0400
>> @@ -275,10 +275,7 @@ static void reparent_to_init(void)
>> remove_parent(current);
>> current->parent = child_reaper(current);
>> current->real_parent = child_reaper(current);
>
> Just noticed. Eric, is it ok we are using child_reaper() here?
> This is for kernel threads only, shouldn't we always use
> init_pid_ns.child_reaper ? (yes, it is the same currently).

Yes. It is a bug, and the description reparent_to_init is likewise
buggy.

I have recently realized that a number of the inital pid namespace
patches have stupid little bugs in them like this. I am upset with
myself for failing to code review them closely before the went in.
Live and learn I guess.

So when I saw this I added this to my growing list of things I needed
to review before I could assume they were done correctly.

Feel free to fix it. I'm still a couple days out from having enough
time before I can start working on pid related issues.

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/