freebsd-skq/sys
bde a0f16401c5 Improved non-statistical (GUPROF) profiling:
- use a more accurate and more efficient method of compensating for
  overheads.  The old method counted too much time against leaf
  functions.
- normally use the Pentium timestamp counter if available.
  On Pentiums, the times are now accurate to within a couple of cpu
  clock cycles per function call in the (unlikely) event that there
  are no cache misses in or caused by the profiling code.
- optionally use an arbitrary Pentium event counter if available.
- optionally regress to using the i8254 counter.
- scaled the i8254 counter by a factor of 128.  Now the i8254 counters
  overflow slightly faster than the TSC counters for a 150MHz Pentium :-)
  (after about 16 seconds).  This is to avoid fractional overheads.

files.i386:
permon.c temporarily has to be classified as a profiling-routine
because a couple of functions in it may be called from profiling code.

options.i386:
- I586_CTR_GUPROF is currently unused (oops).
- I586_PMC_GUPROF should be something like 0x70000 to enable (but not
  use unless prof_machdep.c is changed) support for Pentium event
  counters.  7 is a control mode and the counter number 0 is somewhere
  in the 0000 bits (see perfmon.h for the encoding).

profile.h:
- added declarations.
- cleaned up separation of user mode declarations.

prof_machdep.c:
Mostly clock-select changes.  The default clock can be changed by
editing kmem.  There should be a sysctl for this.

subr_prof.c:
- added copyright.
- calibrate overheads for the new method.
- documented new method.
- fixed races and and machine dependencies in start/stop code.

mcount.c:
Use the new overhead compensation method.

gmon.h:
- changed GPROF4 counter type from unsigned to int.  Oops, this should
  be machine-dependent and/or int32_t.
- reorganized overhead counters.

Submitted by:	Pentium event counter changes mostly by wollman
1996-10-17 19:32:31 +00:00
..
alpha Prepare kernel to take advantage of "branded" ELF binaries. 1996-10-16 17:51:08 +00:00
amd64 Improved non-statistical (GUPROF) profiling: 1996-10-17 19:32:31 +00:00
compat/linux Changed type of ni_dirp in struct namei' from caddr_t to const char *' 1996-09-03 23:17:15 +00:00
compile
conf Improved non-statistical (GUPROF) profiling: 1996-10-17 19:32:31 +00:00
ddb Attached vm ddb commands show map', show vmochk', `show object', 1996-09-14 11:54:59 +00:00
dev This patch attempts to make the pccard probe in if_ed.c work with 1996-10-17 13:42:13 +00:00
fs Substitution of a long divide by a shift. Other cosmetic improvements. 1996-10-06 21:19:33 +00:00
geom Remove devconf, it never grew up to be of any use. 1996-09-06 23:09:20 +00:00
gnu Updated #includes to 4.4lite style. 1996-10-15 19:22:46 +00:00
i386 Improved non-statistical (GUPROF) profiling: 1996-10-17 19:32:31 +00:00
isa Corrected the setting of winsize on open(). 1996-10-15 20:27:07 +00:00
isofs/cd9660 Whoops, I should've used the LINT config file. More ts -> tv changes 1996-09-20 05:51:12 +00:00
kern Improved non-statistical (GUPROF) profiling: 1996-10-17 19:32:31 +00:00
libkern Improved non-statistical (GUPROF) profiling: 1996-10-17 19:32:31 +00:00
miscfs actually impliment permissions for teh chown/chmod/etc functions 1996-10-16 23:14:00 +00:00
modules Prepare kernel to take advantage of "branded" ELF binaries. 1996-10-16 17:51:08 +00:00
msdosfs MSDOS FS used to allocate a buffer before extending the VM object. In 1996-10-02 05:01:17 +00:00
net Netcon's changes for their extended NS support. This only effects 1996-10-17 17:16:58 +00:00
netatalk bzero the entire at_ifaddr struct we malloc, not just the first part of it.. 1996-09-11 09:38:52 +00:00
netinet Forward-declared `struct route' for the KERNEL case so that <net/route.h> 1996-10-15 16:54:47 +00:00
netipx Accept odd length ipx packets. (Win95 and some dialup servers use it.) 1996-08-18 08:38:15 +00:00
netkey This is the `netkey' kernel key-management service (the PF_KEY analogue 1996-06-14 17:22:18 +00:00
netns Bring back netns so that Netcon can take over support for it, as agreed. 1996-10-17 18:42:33 +00:00
nfs Staticized `nfs_dwrite'. 1996-10-12 17:39:39 +00:00
nfsclient Staticized `nfs_dwrite'. 1996-10-12 17:39:39 +00:00
nfsserver This fixes a problem with the nfs socket handling code which happens 1996-10-11 10:15:33 +00:00
pc98 Another round of updates. Highlights: 1996-10-09 21:47:16 +00:00
pccard Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
pci Updated #includes to 4.4lite style. 1996-10-15 19:22:46 +00:00
powerpc/include Add commands for ptrace get/set registers.. (Same numbers as NetBSD) 1996-01-24 18:51:48 +00:00
rpc Fix a bunch of spelling errors in the comment fields 1996-01-30 23:33:04 +00:00
scsi Try number two. Add missing paren in MSG_IDENTIFY macro. 1996-10-07 03:53:43 +00:00
sys Improved non-statistical (GUPROF) profiling: 1996-10-17 19:32:31 +00:00
tools Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
ufs Fixed lblktosize(). It overflowed at 2G. This bug only affected 1996-10-12 22:12:51 +00:00
vm Make processes waken up eligible for immediate swap-in. 1996-10-17 02:58:20 +00:00
Makefile The Great PC98 Merge. 1996-06-14 11:02:28 +00:00