Messages in this thread | | | Date | Fri, 18 Jun 2010 10:27:38 +0200 | From | Louis Rilling <> | Subject | Re: [PATCH] procfs: Do not release pid_ns->proc_mnt too early |
| |
On 17/06/10 23:36 +0200, Oleg Nesterov wrote: > On 06/17, Eric W. Biederman wrote: > > > > The task->children isn't changed until __unhash_process() which runs > > after flush_proc_task(). > > Yes. But this is only the current implementation detail. > It would be nice to cleanup the code so that EXIT_DEAD tasks are > never sit in ->children list. > > > So we should be able to come up with > > a variant of do_wait() that zap_pid_ns_processes can use that does > > what we need. > > See above... > > Even if we modify do_wait() or add the new variant, how the caller > can wait for EXIT_DEAD tasks? I don't think we want to modify > release_task() to do __wake_up_parent() or something similar.
Indeed, I was thinking about calling __wake_up_parent() from release_task() once parent->children becomes empty.
Not sure about the performance impact though. Maybe some WAIT_NO_CHILDREN flag in parent->signal could limit it. But if EXIT_DEAD children are removed from ->children before release_task(), I'm afraid that this becomes impossible.
Thanks,
Louis
-- Dr Louis Rilling Kerlabs Skype: louis.rilling Batiment Germanium Phone: (+33|0) 6 80 89 08 23 80 avenue des Buttes de Coesmes http://www.kerlabs.com/ 35700 Rennes [unhandled content-type:application/pgp-signature] | |