> 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