[Containers] [PATCH 6/7] vt: Update spawnpid to be a struct pid_t

Kirill Korotaev dev at sw.ru
Wed Aug 16 01:04:05 PDT 2006


> Alan Cox <alan at lxorguk.ukuu.org.uk> writes:
> 
> 
>>Ar Maw, 2006-08-15 am 12:23 -0600, ysgrifennodd Eric W. Biederman:
>>
>>>This keeps the wrong process from being notified if the
>>>daemon to spawn a new console dies.
>>
>>Not sure why we count pids not task structs but within the proposed
>>implementation this appears correct so
> 
> 
> Basically struct pid is relatively cheap, 64bytes or so.
> struct task is expensive 10K or so, when all of the stacks
> and everything are included.
> 
> Counting pids allows the task to exit in user space and free up
> all of it's memory.
> 
> When /proc used to count the task struct it was fairly easy to
> deliberately oom a 32bit machine just by open up directories in
> /proc and then having the process exit.  rlimits didn't help because
> we don't count processes that have exited.
hey, hey. your patch doesn't help in this situation (much)!
inodes and dentries can still consume much memory.
it just makes the situation a bit better.

I wonder whether it is easy to have the following done with your implementation:
container tasks visible from host. theoretically having 2 pids (vpid, pid)
it should be implementable. Do you see any obstacles?

in other regards patches look pretty good. Good job!

Kirill




More information about the Containers mailing list