FreeBSD src
Go to file
bde e3aa1c3dc5 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
bin Benign | --> || correction. 1996-10-16 02:30:39 +00:00
contrib Import NFSv3 support from NetBSD 1996-10-17 10:53:34 +00:00
eBones More ${.CURDIR} changes. 1996-10-01 15:20:29 +00:00
etc catch a mismatch after final review... 1996-10-14 17:27:53 +00:00
games Set the effective user id to that of the real user id when 1996-10-15 01:53:48 +00:00
gnu Build/install c++filt from g++, we already have all the sources and 1996-10-13 17:37:03 +00:00
include Add back netns 1996-10-17 18:44:56 +00:00
lib When freeing buffers in the db routines, also zeroize them 1996-10-17 18:27:58 +00:00
libexec Oops, fix my previous commit, now tell user his s/key parameters 1996-10-17 17:46:00 +00:00
lkm Prepare kernel to take advantage of "branded" ELF binaries. 1996-10-16 17:51:08 +00:00
release Mondo-merge of new 2.2 installation technology. 1996-10-15 17:04:56 +00:00
sbin Issue a warning if the user specifies an invalid interface in a rule. 1996-10-17 01:05:03 +00:00
secure cmp -s || install -c --> install -C 1996-08-30 04:07:04 +00:00
share add km for syscons so folks with meta maps can take advantage of them 1996-10-17 17:50:15 +00:00
sys Improved non-statistical (GUPROF) profiling: 1996-10-17 19:32:31 +00:00
tools Actually tell people what ifinfo is. 1996-10-11 18:27:35 +00:00
usr.bin Add -D_SKEY_INTERNAL to pick up non-API functions 1996-10-17 15:30:21 +00:00
usr.sbin Don't casually blow away FTP site settings now that it's easy for user 1996-10-14 21:50:38 +00:00
COPYRIGHT This is the official 4.4 Lite copyright. 1994-09-11 07:53:28 +00:00
Makefile oops, how did this get into the reinstall target? :-] 1996-10-14 12:58:47 +00:00