Messages in this thread |  | | Date | Tue, 20 Aug 2002 12:36:37 +0200 | From | Richard Zidlicky <> | Subject | Re: [patch] O(1) sys_exit(), threading, scalable-exit-2.5.31-A6 |
| |
On Mon, Aug 19, 2002 at 08:08:10PM +0200, Ingo Molnar wrote: > > On Mon, 19 Aug 2002, Linus Torvalds wrote: > > > I'd be happy to apply this patch (well, your fixed version), but I think > > I'd prefer even more to make the whole reparenting go away, and keep the > > child list valid all through the lifetime of a process. How painful > > could that be? > > the problem is that the tracing task wants to do a wait4() on all traced > children, and the only way to get that is to have the traced tasks in the > child list. Eg. strace -f traces a random number of tasks, and after the > PTRACE_CONTINUE call, the wait4 done by strace must be able to 'get > events' from pretty much any of the traced tasks. So unless the ptrace > interface is reworked in an incompatible way, i cannot see how this would > work. wait4 could perhaps somehow search the whole tasklist, but that > could be a pretty big pain even for something like strace.
the whole signal driven approach of ptrace is imho not very elegant and causes high overhead. So reworking the ptrace interface to avoid signals would be a good idea. Instead of wait4 the tracer could eg block or poll on read of /proc/#num/ptrace.
Richard - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |