1. I blew a week trying to track this little monster down, and
2. It isn't at all clear to me where the appropriate fixes and documentation
changes need to be applied.
So here goes:
If you have an executable compiled with *gcc* using the "-pg" option, it is
supposed to generate a "gmon.out" file, which you can later process with the
*binutils* utility "gprof" to produce a profile. All this magic works just
dandy for a single threaded executable, but apparently child threads and
child processes created with "fork" don't get their execution time counted.
See the following links for the gory details:
http://sources.redhat.com/ml/bug-binutils/2001-q3/msg00090.html
http://uwsg.iu.edu/hypermail/linux/kernel/0101.3/1516.html
The second link implies that it's possible to fix this at the *kernel*
level. So my question to all of you is, "what's the best way to get this
fixed?" I need to profile a multi-threaded executable and personally don't
care about the "fork" case, but I'm sure there are others who would care
about forks and not threads.
-- M. Edward (Ed) Borasky, Chief Scientist, Borasky Research http://www.borasky-research.net http://www.aracnet.com/~znmeb mailto:znmeb@borasky-research.com mailto:znmeb@aracnet.comStand-Up Comedy: Because Man Does Not Live By Dread Alone
- 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/