Commit Graph

19 Commits

Author SHA1 Message Date
jdp
993b274d03 Don't ignore symbols containing "$". C++ destructors and other
special functions have names containing dollar signs, and ignoring
them causes gprof to produce incorrect and sometimes bizarre results.
The comment in the original code said that dollar signs were excluded
because they are used in Pascal labels.  That's not much of an
issue these days.
1998-08-08 17:48:26 +00:00
charnier
f673b0ac7c Revert to original style. 1997-07-15 08:04:40 +00:00
bde
20aa44a88c 32-bit counters aren't large enough for 100+MHz clocks. Use 64-bit
counters.  `4' in GPROF4 and gprof4 now means 8.  gprof4 needs to be
recompiled to match the kernel.
1997-07-13 16:38:39 +00:00
charnier
aad076cc73 Fix typo I introduced during last commit. 1997-07-11 06:11:35 +00:00
charnier
3e5d2f9ca5 Use err(3). 1997-07-10 06:45:02 +00:00
wosch
4bcfb053ec Sort cross references. 1997-01-15 23:25:55 +00:00
bde
467c7d29da Use a (signed) int32_t counter instead of an `unsigned int' counter
for the GPROF4 case.  This allows a simpler method to be used for
non-statistical profiling (it allows overhead adjustments to be
subtracted from one counter without harm if that counter goes
negative; otherwise the adjustment would have to be distributed).

32 bit counters were already too small for GPROF4 with a 200MHz
clock.  int64_t counters should be used.
1996-10-16 21:02:49 +00:00
bde
f8b51172cd Print times/call in ns if hz >= 10e7. hz will be this large for high
resolution profiling on Pentiums.  On a 100MHz Pentium, the resolution
is at best 10 ns and actually a few hundred ns, but units of 10's or
100's of ns would be inconvenient and the current units of 1 us are a
bit too coarse.
1996-06-08 12:29:57 +00:00
mpp
86b292ffbd Correct some man page cross references and file location references. 1996-04-07 00:06:21 +00:00
joerg
adfc8d6391 Xref clocks(7). 1996-04-05 08:53:38 +00:00
mpp
0796408d4a Another round of man page cleanups.
Down to only about 100 items left to cleanup! :-)
1996-02-12 04:57:03 +00:00
bde
39cdb05128 Implemented non-statistical kernel profiling. This is based on
looking at a high resolution clock for each of the following events:
function call, function return, interrupt entry, interrupt exit,
and interesting branches.  The differences between the times of
these events are added at appropriate places in a ordinary histogram
(as if very fast statistical profiling sampled the pc at those
places) so that ordinary gprof can be used to analyze the times.

gmon.h:
Histogram counters need to be 4 bytes for microsecond resolutions.
They will need to be larger for the 586 clock.
The comments were vax-centric and wrong even on vaxes.  Does anyone
disagree?

gprof4.c:
The standard gprof should support counters of all integral sizes
and the size of the counter should be in the gmon header.  This
hack will do until then.  (Use gprof4 -u to examine the results
of non-statistical profiling.)

config/*:
Non-statistical profiling is configured with `config -pp'.
`config -p' still gives ordinary profiling.

kgmon/*:
Non-statistical profiling is enabled with `kgmon -B'.  `kgmon -b'
still enables ordinary profiling (and distables non-statistical
profiling) if non-statistical profiling is configured.
1995-12-29 15:46:59 +00:00
bde
f5284ed86d Change install' to ${INSTALL}' so that default install flags can be
specified in the top level Makefiles.
1995-07-25 00:37:58 +00:00
rgrimes
a14d555c87 Remove trailing whitespace. 1995-05-30 06:41:30 +00:00
wollman
18f4f1ed44 Added much-needed new options -[lL], to suppress printing of either the
call-graph or the flat profile, since often you only want one of them.
1994-12-22 20:52:15 +00:00
bde
63eff9d9b8 New flag -u to suppress functions whose name does not begin with an
underscore.  Use it to avoid seeing badsw when profiling the kernel.

Print times more accurately (e.g. usec in %8.0f format instead of
msec in %8.2f format for averages) if hz >= 10000.  This should have
no effect now since profhz is only 1024.
1994-09-05 16:14:54 +00:00
rgrimes
0ff5b1efa7 This commit was generated by cvs2svn to compensate for changes in r1590,
which included commits to RCS files with non-trunk default branches.
1994-05-27 12:33:43 +00:00
rgrimes
71f843c9a2 BSD 4.4 Lite Usr.bin Sources 1994-05-27 12:33:43 +00:00
rgrimes
f9ab90d9d6 BSD 4.4 Lite Usr.bin Sources 1994-05-27 12:33:43 +00:00