[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gprof, threads and forks
From: |
M. Edward Borasky |
Subject: |
gprof, threads and forks |
Date: |
Wed, 5 Sep 2001 20:04:00 -0700 |
It's rare that I cross-post to this many lists, but
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:address@hidden mailto:address@hidden
Stand-Up Comedy: Because Man Does Not Live By Dread Alone
- gprof, threads and forks,
M. Edward Borasky <=