First, sorry if this is a glibc issue. Just chose to ask here first.
I want to know the CPU time used by a POSIX-threaded program. I have tried
to use getrusage() with RUSAGE_SELF and RUSAGE_CHILDREN. Problem:
main thread just do nothing, spawns children and waits. And I get always
0 ru_utime.
I guess it can be because of 2 things:
- RUSAGE_CHILDREN only works for fork()'ed children (although in linux threads
and processes are the same). Perhaps fork() sets some kind of flag in
clone() for accounting.
- AFAIK, linux puts an intermediate 'thread controller'. That controller
uses no CPU time, and RUSAGE_CHILDREN gets only the first children level.
Any suggestion to mesaure threads CPU time ? I can't manage only with
wall-time, because I'm not sure to have all the box just for me.
And I would like also to mesaure system time to evaluate contention.
TIA
-- J.A. Magallon # Let the source be with you... mailto:jamagallon@able.es Linux Mandrake release 8.1 (Cooker) for i586 Linux werewolf 2.4.5-ac13 #1 SMP Sun Jun 10 21:42:28 CEST 2001 i686 - 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/