freebsd-skq/sys/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
..
_sigset.h Add a SV_NODEFER and SV_RESETHAND #define, after Bruce pointed out that 1996-03-30 15:10:18 +00:00
acct.h Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 19:39:40 +00:00
bio.h Remove some old compatibility names. 1996-10-13 14:36:37 +00:00
bitstring.h
buf.h Remove some old compatibility names. 1996-10-13 14:36:37 +00:00
callout.h
ccdvar.h Add mirror flag. 1996-01-30 22:33:31 +00:00
cdefs.h Add __unused to the list of __dead, __dead2, __pure, __pure2 etc. 1996-08-18 16:14:03 +00:00
cdio.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
chio.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
clist.h
conf.h Make a "DWIM" function for adding [bc]devsw entries for bdev drivers. 1996-07-23 21:52:43 +00:00
cons.h Move sysctl machdep.consdev to cons.c 1995-12-09 20:39:47 +00:00
dataacq.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
devfsext.h Removed prototype for devfs_add_devsw() as it no longer exists 1996-04-03 03:03:55 +00:00
device.h Completed function declarations and/or added prototypes. 1995-11-21 12:55:26 +00:00
dir.h
dirent.h Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 19:39:40 +00:00
disk.h disksort() is gone, all drivers now use tqdisksort(). 1996-05-03 15:05:17 +00:00
disklabel.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
diskmbr.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
diskpc98.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
diskslice.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
dkbad.h Don't include <sys/conf.h> for the kernel in disk-related headers. 1996-09-20 17:39:44 +00:00
dkstat.h
dmap.h
domain.h Completed function declarations and/or added prototypes. 1995-11-21 12:55:26 +00:00
errno.h make the declaration of the __error() function C++ safe. Otherwise, 1996-08-18 16:16:18 +00:00
exec.h Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 19:39:40 +00:00
fbio.h
fcntl.h Fix a bunch of spelling errors in the comment fields of 1996-01-30 23:02:38 +00:00
fdcio.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
file.h Eliminated nested include of <sys/unistd.h> in <sys/file.h> in the kernel. 1996-09-03 14:25:27 +00:00
filedesc.h kern_descrip.c: add fdshare()/fdcopy() 1996-02-23 18:49:25 +00:00
filio.h
ftape.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
gmon.h Improved non-statistical (GUPROF) profiling: 1996-10-17 19:32:31 +00:00
imgact_aout.h Fix a bunch of spelling errors in the comment fields of 1996-01-30 23:02:38 +00:00
imgact_elf.h Prepare kernel to take advantage of "branded" ELF binaries. 1996-10-16 17:51:08 +00:00
imgact.h Removed unnecessary #includes from <sys/imgact.h> so that it is 1996-05-01 02:43:13 +00:00
inflate.h
ioccom.h Moved the prototype for ioctl() from <sys/ioctl.h> to <sys/ioccom.h> 1996-09-21 08:42:37 +00:00
ioctl_compat.h
ioctl_meteor.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
ioctl.h Moved the prototype for ioctl() from <sys/ioctl.h> to <sys/ioccom.h> 1996-09-21 08:42:37 +00:00
ipc.h Add a prototype for ftok(). Doesn't really belong into a <sys/...> 1996-06-03 10:42:30 +00:00
joystick.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
kernel.h Fixed lots of warnings from gcc-2.7.x about "left-hand operand of 1996-09-20 14:36:14 +00:00
ktrace.h Remove the extra length field from the utrace entries. It's redundant. 1996-09-22 18:17:51 +00:00
libkern.h add simple srandom() and prototype 1996-09-23 04:31:43 +00:00
linedisc.h Make a "DWIM" function for adding [bc]devsw entries for bdev drivers. 1996-07-23 21:52:43 +00:00
link_aout.h Fixed the wrong include file for a "prototype mismatch" error between 1996-10-08 01:38:36 +00:00
link_elf.h Fixed the wrong include file for a "prototype mismatch" error between 1996-10-08 01:38:36 +00:00
lkm.h `struct linker_set execsw_set' was declared as const and pointers in it 1996-09-03 22:52:27 +00:00
lockf.h Removed bogus _BEGIN_DECLS/_END_DECLS. 1996-05-01 02:16:17 +00:00
malloc.h Remove the kernel FD_SETSIZE limit for select(). 1996-08-20 07:18:10 +00:00
mbuf.h Add a protocol-specific mbuf flag. 1996-08-19 18:30:15 +00:00
md5.h Add a structure definition to the MD* Contexts, so that cvs can use 1995-12-11 02:18:22 +00:00
mdioctl.h
mman.h Initial support for MADV_FREE, support for pages that we don't care 1996-05-23 00:45:58 +00:00
mount.h Some very small changes to support Netcon's TFS filesystem. 1996-10-17 17:12:04 +00:00
mouse.h
msg.h
msgbuf.h
mtio.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
namei.h Changed type of ni_dirp in struct namei' from caddr_t to const char *' 1996-09-03 23:17:15 +00:00
nlist_aout.h Add the linker set stab types: N_SETA N_SETT N_SETD N_SETB N_SETV 1996-10-01 00:01:43 +00:00
param.h removed: 1996-05-02 14:21:14 +00:00
pipe.h A few minor mods (improvements) to support more efficient pipe 1996-07-13 22:52:50 +00:00
proc.h Make processes waken up eligible for immediate swap-in. 1996-10-17 02:58:20 +00:00
protosw.h Modify the kernel to use the new pr_usrreqs interface rather than the old 1996-07-11 16:32:50 +00:00
ptrace.h proc.h: Add PHOLD()/PRELE() macros to ensure the U area is not swapped 1996-01-24 18:11:23 +00:00
queue.h This set of commits to the VM system does the following, and contain 1996-05-18 03:38:05 +00:00
random.h Drat, missed this prototype for random_select(). 1996-09-27 13:29:41 +00:00
reboot.h Add support for embedded operation withou console 1996-10-16 00:19:40 +00:00
resource.h Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 19:39:40 +00:00
resourcevar.h trap.c: 1996-06-25 20:02:16 +00:00
rlist.h In order to fix some concurrency problems with the swap pager early 1996-03-03 21:11:08 +00:00
rtprio.h
scsiio.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
select.h
selinfo.h
sem.h Clean up -Wunused warnings. 1996-06-12 05:11:41 +00:00
shm.h removed: 1996-05-02 14:21:14 +00:00
signal.h Add a SV_NODEFER and SV_RESETHAND #define, after Bruce pointed out that 1996-03-30 15:10:18 +00:00
signalvar.h re-add the ps_signodefer. The interaction between SA_NODEFER and the 1996-03-30 15:08:14 +00:00
snoop.h A Major staticize sweep. Generates a couple of warnings that I'll deal 1995-12-14 08:32:45 +00:00
socket.h Grab the next slot for AF_INET6/PF_INET6, the resolver uses it. 1996-08-30 02:18:24 +00:00
socketvar.h Increase robustness of FreeBSD against high-rate connection attempt 1996-10-07 04:32:42 +00:00
sockio.h Reformatted FreeBSD additions to match 4.4Lite style. Mixed tabs and 1996-09-22 14:57:44 +00:00
soundcard.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
stat.h In sys/time.h, struct timespec is defined as: 1996-09-19 18:21:32 +00:00
syscall-hide.h Add the utrace(caddr_t addr,size_t len) syscall, that will store the 1996-09-19 19:49:13 +00:00
syscall.h Add the utrace(caddr_t addr,size_t len) syscall, that will store the 1996-09-19 19:49:13 +00:00
sysctl.h Add support for embedded operation withou console 1996-10-16 00:19:40 +00:00
sysent.h Clean-up the new VM map procfs code, and also add support for executable 1996-06-18 05:16:00 +00:00
syslimits.h
syslog.h Back out change of log from being in /var/run to back in /dev 1996-03-28 18:29:14 +00:00
sysproto.h Add the utrace(caddr_t addr,size_t len) syscall, that will store the 1996-09-19 19:49:13 +00:00
systm.h Moved declarations of tsleep() and wakeup() from proc.h to systm.h so 1996-10-12 16:11:58 +00:00
tablet.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
termios.h
time.h In sys/time.h, struct timespec is defined as: 1996-09-19 18:21:32 +00:00
timeb.h
timers.h Obtained from: uthreads package 1996-01-22 00:32:08 +00:00
times.h
timetc.h In sys/time.h, struct timespec is defined as: 1996-09-19 18:21:32 +00:00
timex.h
tprintf.h
tty.h Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 19:39:40 +00:00
ttychars.h
ttycom.h Added TIOCDCDTIMESTAMP (enable/get timestamp of last DCD rise). 1996-06-17 13:08:09 +00:00
ttydefaults.h
ttydev.h Fix a bunch of spelling errors in the comment fields of 1996-01-30 23:02:38 +00:00
types.h Removed gratuitous differences from Lite2. 1996-04-30 23:35:57 +00:00
ucred.h Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 19:39:40 +00:00
uio.h
un.h Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 19:39:40 +00:00
unistd.h Don't pollute the namespace with rfork flags if _POSIX_SOURCE is defined. 1996-09-03 13:55:50 +00:00
unpcb.h
user.h Updated #includes to 4.4Lite style. 1996-09-10 08:32:01 +00:00
utsname.h
vadvise.h
vcmd.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00
vlimit.h
vmmeter.h Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 19:39:40 +00:00
vnioctl.h Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 19:39:40 +00:00
vnode.h Some very small changes to support Netcon's TFS filesystem. 1996-10-17 17:12:04 +00:00
vsio.h
wait.h Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 19:39:40 +00:00
wormio.h Cleaned up all headers that include <sys/ioctl.h> or <sys/ioccom.h>: 1996-09-21 14:59:43 +00:00