Re: [PATCH 1/3] [PATCH i386] during VM oom condition, kill allthreads in process group
From: Will Schmidt
Date: Fri Jun 08 2007 - 15:19:32 EST
On Thu, 2007-06-07 at 17:10 -0700, Andrew Morton wrote:
> On Thu, 7 Jun 2007 18:16:21 -0500
> Anton Blanchard <anton@xxxxxxxxx> wrote:
> > Hi,
> > > zap_other_threads() requires tasklist_lock.
Yup, I missed that. Thanks for pointing it out.
> > >
> > > If we're going to do this then we should probably create some new function
> > > (with a better name) which takes tasklsit_lock and then calls
> > > zap_other_threads().
I expect this will be a write_lock_irq() since zap_other_threads will be
doing a bit more than just reading the task info.
This will be down in a do-page-fault failure path (see
arch/*/mm/fault.c). I wonder if calling write_lock is going to be safe,
or if its possible to get into a deadlock? i.e. should I branch back up
to the survive: label if I can't take the lock? Would that even be
sufficient? or is it not an issue here?
> > >
> > > Does this patch fix any observed-in-the-real-world problem? If so, please
> > > describe it.
> > Yeah we have had complaints where threaded apps have only one thread
> > shot down instead of the entire process. This leaves the application in
> > a bad state, whereas if it had been killed cleanly the application could
> > have restarted.
> > My understanding is that fatal signals should kill all threads in the
> > group.
> OK, well could we please get all that info appropriatelt captured in #2's
Yup, next spin I'll add more to the changelog.
> Other architectures will probably need to implement this.
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/