freebsd-nq/sys/i386
Bruce Evans 912e603778 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:30:05 +00:00
..
apm Finished removing MACH_KERNEL stuff. 1995-12-27 16:16:02 +00:00
bios Finished removing MACH_KERNEL stuff. 1995-12-27 16:16:02 +00:00
boot Removed bogus padding that wasted 0x500 bytes. 1995-11-18 05:25:24 +00:00
conf Implemented non-statistical kernel profiling. This is based on 1995-12-29 15:30:05 +00:00
eisa Completed function declarations and added prototypes. Sorted prototypes. 1995-12-14 23:26:53 +00:00
i386 Made bzero a function vector and added a 586/686 optimized version of 1995-12-28 23:14:40 +00:00
ibcs2 Update ibcs2 to use the new ps_strings / stack gap arrangements.. 1995-12-09 04:33:27 +00:00
include Implemented non-statistical kernel profiling. This is based on 1995-12-29 15:30:05 +00:00
isa Implemented non-statistical kernel profiling. This is based on 1995-12-29 15:30:05 +00:00
linux Update linux_ipc.c to use the now generated prototypes for the shm* calls 1995-12-15 05:07:20 +00:00
pci Completed function declarations and/or added prototypes and/or added 1995-12-16 00:27:59 +00:00
scsi Completed function declarations and added prototypes. Sorted prototypes. 1995-12-15 23:49:42 +00:00
Makefile Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, some 1993-10-16 19:17:18 +00:00