On 11/19, Peter Zijlstra wrote: > > On Fri, 2010-11-19 at 21:11 +0100, Michael Holzheu wrote: > > Due to POSIX POSIX.1-2001, the CPU time of processes is not accounted > > to the cumulative time of the parents, if the parents ignore SIGCHLD > > or have set SA_NOCLDWAIT. This behaviour has the major drawback that > > it is not possible to calculate all consumed CPU time of a system by > > looking at the current tasks. CPU time can be lost. > > > > To solve this problem, this patch set duplicates the cumulative accounting > > data in the signal_struct. In the second set (cdata_acct) the complete > > cumulative resource counters are stored. The new cumulative CPU time (utime > > and stime) is then exported via the taskstats interface. > > Maybe this has been treated earlier in the threads and I missed it, but > the obvious solution doesn't get mentioned: IIRC, the first version did this. And it was me who spoiled this approach. But! only because I wasn't sure this user-visible change is acceptable, and because there was some misunderstanding. See http://marc.info/?l=linux-kernel&m=128552495203050&w=2 But, > What would break if we say, any test-case which does getrusage() after fork() with ignored SIGCHLD/SA_NOCLDWAIT?. > violate this silly POSIX rule and account time of > childs regardless of SIGCHLD/SA_NOCLDWAIT? +1. Personally, I'd certainly prefer this way, because I don't care about POSIX at all ;) Still. Once again, this breaks the current rules, and we never do this without strong reason. I think we should ask Roland. If he thinks this is OK, I'd certainly agree. Oleg. -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html