OpenVZ Forum


Home » Mailing lists » Devel » Re: NFS causing oops when freeing namespace
Re: NFS causing oops when freeing namespace [message #17243] Wed, 17 January 2007 22:30 Go to next message
ebiederm is currently offline  ebiederm
Messages: 1354
Registered: February 2006
Senior Member
Cedric Le Goater <clg@fr.ibm.com> writes:
>
> your first analysis was correct : exit_task_namespaces() should be moved 
> above exit_notify(tsk). It will require some extra fixes for nsproxy 
> though.

I think the only issue is the child_reaper and currently we only have one of
those.  When we really do the pid namespace we are going to have to revisit
this.  My gut feel says that we won't be able to exit our pid namespace until
the process is waited on.  So we may need to break up exit_task_namespace into
individual components.

Eric
_______________________________________________
Containers mailing list
Containers@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/containers
Re: NFS causing oops when freeing namespace [message #17246 is a reply to message #17243] Wed, 17 January 2007 22:46 Go to previous messageGo to next message
Trond Myklebust is currently offline  Trond Myklebust
Messages: 24
Registered: July 2006
Junior Member
On Wed, 2007-01-17 at 15:30 -0700, Eric W. Biederman wrote:
> Cedric Le Goater <clg@fr.ibm.com> writes:
> >
> > your first analysis was correct : exit_task_namespaces() should be moved 
> > above exit_notify(tsk). It will require some extra fixes for nsproxy 
> > though.
> 
> I think the only issue is the child_reaper and currently we only have one of
> those.  When we really do the pid namespace we are going to have to revisit
> this.  My gut feel says that we won't be able to exit our pid namespace until
> the process is waited on.  So we may need to break up exit_task_namespace into
> individual components.

It makes little sense, afaics, to have an interruptible sleep in
something like lockd_down() if you have no pid space or signal handling.

That isn't the only place where the process has to wait in an NFS
unmount, BTW. Things like rpc client cleanup (waiting for all the RPC
tasks to complete) also tend to lead to interruptible sleeps.

Trond

_______________________________________________
Containers mailing list
Containers@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/containers
Re: NFS causing oops when freeing namespace [message #17272 is a reply to message #17243] Wed, 17 January 2007 22:55 Go to previous message
Oleg Nesterov is currently offline  Oleg Nesterov
Messages: 143
Registered: August 2006
Senior Member
On 01/17, Eric W. Biederman wrote:
>
> Cedric Le Goater <clg@fr.ibm.com> writes:
> >
> > your first analysis was correct : exit_task_namespaces() should be moved 
> > above exit_notify(tsk). It will require some extra fixes for nsproxy 
> > though.
> 
> I think the only issue is the child_reaper and currently we only have one of
> those.  When we really do the pid namespace we are going to have to revisit
> this.  My gut feel says that we won't be able to exit our pid namespace until
> the process is waited on.  So we may need to break up exit_task_namespace into
> individual components.

I agree, but please note that the child_reaper is not the only issue. Think
about sub-thread which auto-reaps itself. I'd suggest to add the comment in
do_exit() after exit_notify() to remind that the task is really dead now, it
has no ->signal, it can't be seen in /proc/, we can't send a signal to it, etc.

Oleg.

_______________________________________________
Containers mailing list
Containers@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/containers
Previous Topic: Re: NFS causing oops when freeing namespace
Next Topic: rdmsr_on_cpu, wrmsr_on_cpu et al
Goto Forum:
  


Current Time: Tue Jul 29 07:12:15 GMT 2025

Total time taken to generate the page: 0.48608 seconds