freebsd-src/sys
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
..
alpha Completed function declarations and added prototypes. 1995-11-22 07:43:53 +00:00
amd64 Implemented non-statistical kernel profiling. This is based on 1995-12-29 15:30:05 +00:00
compat/linux Update linux_ipc.c to use the now generated prototypes for the shm* calls 1995-12-15 05:07:20 +00:00
compile Stop cvs up -P from removing empty compile directories. 1994-08-25 16:20:16 +00:00
conf Implemented non-statistical kernel profiling. This is based on 1995-12-29 15:30:05 +00:00
ddb Reduced and cleaned up #includes. 1995-12-10 19:08:32 +00:00
dev Fixed erroneous resending of the output buffer. 1995-12-29 13:21:10 +00:00
fs Fixed 1TB filesize changes. Some pindexes had bogus names and types 1995-12-17 07:19:58 +00:00
geom Added $Id$. 1995-12-28 00:22:45 +00:00
gnu Fixed erroneous resending of the output buffer. 1995-12-29 13:21:10 +00:00
i386 Implemented non-statistical kernel profiling. This is based on 1995-12-29 15:30:05 +00:00
isa Oops, this should have been committed with the other Hayes ESP changes. 1995-12-29 13:18:58 +00:00
isofs/cd9660 Added prototypes. 1995-12-03 17:14:38 +00:00
kern Implemented non-statistical kernel profiling. This is based on 1995-12-29 15:30:05 +00:00
libkern Implemented non-statistical kernel profiling. This is based on 1995-12-29 15:30:05 +00:00
miscfs Fixed 1TB filesize changes. Some pindexes had bogus names and types 1995-12-17 07:19:58 +00:00
modules Reformatted the list of broken modules and added ip_mroute_mod to it. 1995-12-16 21:19:18 +00:00
msdosfs Untangled the vm.h include file spaghetti. 1995-12-07 12:48:31 +00:00
net in_proto.c: spell ``Internet'' right and put whitespace after commas. 1995-12-20 21:53:53 +00:00
netccitt Cleanup and staticize. 1995-12-18 09:42:44 +00:00
netinet Remove some bogus externs. 1995-12-29 01:12:02 +00:00
netipx Oops, forgot to update this to match pr_ctlinput. 1995-12-16 03:43:49 +00:00
netiso Last commit this round: Staticize. 1995-12-10 13:45:30 +00:00
netns Moved inline functions for insque() and remque() to <sys/queue.h>. 1995-12-03 13:45:34 +00:00
nfs Don't print swap server as root server. 1995-12-28 21:56:49 +00:00
nfsclient Don't print swap server as root server. 1995-12-28 21:56:49 +00:00
nfsserver Staticize. 1995-12-17 21:14:36 +00:00
pc98/pc98 Completed function declarations and/or added prototypes. 1995-11-21 12:55:26 +00:00
pccard Completed function declarations and/or added prototypes and/or added 1995-12-16 00:11:11 +00:00
pci Preserve SIGP bit when clearing INTF condition. 1995-12-28 13:04:03 +00:00
powerpc/include Don't define CLK_TCK here. 1995-02-03 21:49:18 +00:00
rpc Remove trailing whitespace. 1995-05-30 05:05:38 +00:00
scsi Add NEC CDR 210 to list of devices with broken LUN support 1995-12-27 17:07:12 +00:00
sys Implemented non-statistical kernel profiling. This is based on 1995-12-29 15:30:05 +00:00
tools Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
ufs Fixed prototyping and staticizing for -DDEBUG case. 1995-12-22 17:56:37 +00:00
vm i386/i386/conf.c is no longer needed.. remove it from files.i386 1995-12-21 20:09:46 +00:00
Makefile Removed almost all traces of libkern.a. The objects that were in 1995-12-26 13:58:31 +00:00