freebsd-dev/sys/amd64/include
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
..
pc Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, some 1993-10-16 14:40:57 +00:00
asmacros.h Implemented non-statistical kernel profiling. This is based on 1995-12-29 15:30:05 +00:00
clock.h Add Pentium Pro CPU detection and special handling. For now, all the 1995-12-24 08:10:52 +00:00
cpu.h Make the bootinfo structure visible from sysctl. 1995-07-16 10:33:38 +00:00
cpufunc.h Made bzero a function vector and added a 586/686 optimized version of 1995-12-28 23:34:30 +00:00
cputypes.h Add Pentium Pro CPU detection and special handling. For now, all the 1995-12-24 08:10:52 +00:00
db_machdep.h Removed unused thread support (partly to get rid of its incomplete 1995-12-03 10:40:16 +00:00
exec.h Shuffled macros and definitions around to facilitate architecture 1994-09-24 21:37:01 +00:00
float.h Made all header files idempotent and moved incorrect common data from 1993-11-07 17:43:17 +00:00
floatingpoint.h Don't provide bogus source operands in some asms. This probably shouldn't 1994-09-20 22:26:37 +00:00
fpu.h Added `#include "ioconf.h"' to <machine/conf.h> and cleaned up the 1995-11-04 17:08:13 +00:00
frame.h Make math_emulators LKMable. 1995-12-14 08:21:33 +00:00
ieeefp.h Delete redundant #ifdef __i386__, be consistent about idempotency 1994-08-05 14:36:04 +00:00
md_var.h Completed function declarations and/or added prototypes. 1995-11-21 12:55:26 +00:00
npx.h Added `#include "ioconf.h"' to <machine/conf.h> and cleaned up the 1995-11-04 17:08:13 +00:00
pcb.h Killed some unused stuff inherited from Bill Jolitz. Note that since 1995-08-17 11:30:03 +00:00
pmap.h Cleaned up prototypes in pmap headers: removed ones for nonexistent 1995-12-17 07:39:05 +00:00
proc.h The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch. 1994-05-25 09:21:21 +00:00
profile.h Implemented non-statistical kernel profiling. This is based on 1995-12-29 15:30:05 +00:00
psl.h Fix security holes in sigreturn(), ptrace() and procfs. sigreturn() 1995-01-14 13:20:26 +00:00
ptrace.h Added $Id$ 1994-08-02 07:55:43 +00:00
reg.h Declare a real `struct fpreg' to prepare for implementing reading and 1995-01-14 10:41:41 +00:00
reloc.h Made idempotent. 1994-08-21 04:55:31 +00:00
segments.h Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
signal.h Fix standards conformance bugs in <signal.h>: 1995-06-28 02:14:13 +00:00
specialreg.h Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
sysarch.h Added $Id$ 1994-08-02 07:55:43 +00:00
trap.h Fix security holes in sigreturn(), ptrace() and procfs. sigreturn() 1995-01-14 13:20:26 +00:00
tss.h Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
varargs.h Added $Id$ 1994-08-02 07:55:43 +00:00
vmparam.h Made "NMBCLUSTERS" calculation dynamic and fixed bogus use of "NMBCLUSTERS" 1995-05-25 07:41:28 +00:00