freebsd-dev/sys/kern
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
..
imgact_aout.c Fixed the easy cases of const poisoning in the kernel. Cosmetic. 1996-08-31 16:52:44 +00:00
imgact_elf.c Oops forgot to remove a debug printf. 1996-10-16 20:59:08 +00:00
imgact_gzip.c Fixed the easy cases of const poisoning in the kernel. Cosmetic. 1996-08-31 16:52:44 +00:00
imgact_shell.c Fixed the easy cases of const poisoning in the kernel. Cosmetic. 1996-08-31 16:52:44 +00:00
inflate.c Removed unnecessary #includes of vm stuff. Most of them were once 1995-12-06 23:37:44 +00:00
init_main.c call srandom() during the boot to start the sequence with a slightly less 1996-09-23 04:37:54 +00:00
init_sysent.c Add the utrace(caddr_t addr,size_t len) syscall, that will store the 1996-09-19 19:49:13 +00:00
init_sysvec.c Clean-up the new VM map procfs code, and also add support for executable 1996-06-18 05:16:00 +00:00
kern_acct.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
kern_clock.c Don't include "opt_cpu.h" in <machine/clock.h>, since this breaks lkm's. 1996-10-10 10:25:26 +00:00
kern_conf.c for kern_conf.c, start allocating dynamic major numbers 1996-08-19 19:22:26 +00:00
kern_descrip.c Fixed bitrot in the read-only attribute: 1996-09-28 16:33:21 +00:00
kern_exec.c Performance optimizations. One of which was meant to go in before the 1996-10-12 21:35:25 +00:00
kern_exit.c Performance optimizations. One of which was meant to go in before the 1996-10-12 21:35:25 +00:00
kern_fork.c Eliminated nested include of <sys/unistd.h> in <sys/file.h> in the kernel. 1996-09-03 14:25:27 +00:00
kern_ktrace.c Remove the extra length field from the utrace entries. It's redundant. 1996-09-22 18:17:51 +00:00
kern_lkm.c `struct linker_set execsw_set' was declared as const and pointers in it 1996-09-03 22:52:27 +00:00
kern_lockf.c Eliminated nested include of <sys/unistd.h> in <sys/file.h> in the kernel. 1996-09-03 14:25:27 +00:00
kern_malloc.c The check for multiple freed items were bogus. fixed. 1996-08-04 20:08:48 +00:00
kern_mib.c Oops, read-only is spelled RD here. 1996-09-28 15:53:30 +00:00
kern_ntptime.c Removed unnecessary #includes of vm stuff. Most of them were once 1995-12-06 23:37:44 +00:00
kern_physio.c Fix a problem that caused system crashes after physio. This problem 1996-06-26 05:52:15 +00:00
kern_proc.c Attached simple external ddb commands show rtc', show pgrpdump' 1996-09-14 10:53:48 +00:00
kern_prot.c Added #include of <unistd.h> so that there is some chance that 1996-09-03 12:52:58 +00:00
kern_random.c Put I*86_CPU defines in opt_cpu.h. 1996-10-09 19:47:44 +00:00
kern_resource.c Fixed accumulation of run time for processes that don't accumulate 1996-06-08 11:48:28 +00:00
kern_shutdown.c Changed cncheckc() interface so that it is 8-bit clean - return -1 1996-09-14 04:31:09 +00:00
kern_sig.c Log not exited signal only, but the fact that core dumped (or not) too 1996-07-09 18:12:37 +00:00
kern_subr.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
kern_synch.c Make processes waken up eligible for immediate swap-in. 1996-10-17 02:58:20 +00:00
kern_sysctl.c Fixed bogus casts (const on the wrong *' in **') in a qsort-comparision 1996-09-03 22:26:31 +00:00
kern_tc.c Don't include "opt_cpu.h" in <machine/clock.h>, since this breaks lkm's. 1996-10-10 10:25:26 +00:00
kern_time.c if we jump the time, we need to check all the process real interval timers. 1996-09-30 19:28:52 +00:00
kern_timeout.c Don't include "opt_cpu.h" in <machine/clock.h>, since this breaks lkm's. 1996-10-10 10:25:26 +00:00
kern_xxx.c Collect all the functioons concerned with rebooting into one place 1996-08-19 20:07:07 +00:00
Make.tags.inc Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
Makefile Remove bogus architectures to allow make tags to work. 1996-03-31 18:53:43 +00:00
makesyscalls.sh Don't use __dead in the kernel. It was an obfuscation for gcc >= 2.5 1996-09-13 09:20:15 +00:00
md5c.c Clean a bunch of -Wall warnings. 1995-02-24 08:51:34 +00:00
subr_autoconf.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
subr_clist.c Attached simple external ddb commands show rtc', show pgrpdump' 1996-09-14 10:53:48 +00:00
subr_disklabel.c Don't include <sys/conf.h> for the kernel in disk-related headers. 1996-09-20 17:39:44 +00:00
subr_diskmbr.c Don't include <sys/conf.h> for the kernel in disk-related headers. 1996-09-20 17:39:44 +00:00
subr_diskslice.c Don't include <sys/conf.h> for the kernel in disk-related headers. 1996-09-20 17:39:44 +00:00
subr_dkbad.c Don't include <sys/conf.h> for the kernel in disk-related headers. 1996-09-20 17:39:44 +00:00
subr_log.c Quiet a couple of -Wunused warnings. 1996-07-09 16:51:18 +00:00
subr_param.c Add an option "EXTRA_VNODES" to cause an extra number of vnode structures 1996-05-31 00:20:34 +00:00
subr_prf.c Fixed the easy cases of const poisoning in the kernel. Cosmetic. 1996-08-31 16:52:44 +00:00
subr_prof.c Improved non-statistical (GUPROF) profiling: 1996-10-17 19:32:31 +00:00
subr_rlist.c Undo a mistaken change from splhigh to splvm. Subr_rlist has been 1996-10-12 21:37:59 +00:00
subr_trap.c Updated #includes to 4.4Lite style. 1996-09-10 08:32:01 +00:00
subr_xxx.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
sys_generic.c Fix a minor style error in my code. 1996-08-20 15:03:41 +00:00
sys_pipe.c Mostly some fixes from bde to start support for ASYNC I/O (SIGIO). 1996-10-11 02:27:30 +00:00
sys_process.c Remove the now-unnecessary and incorrect wiring of the "other" processes 1996-06-02 06:24:27 +00:00
sys_socket.c Modify the kernel to use the new pr_usrreqs interface rather than the old 1996-07-11 16:32:50 +00:00
syscalls.c Add the utrace(caddr_t addr,size_t len) syscall, that will store the 1996-09-19 19:49:13 +00:00
syscalls.master Add the utrace(caddr_t addr,size_t len) syscall, that will store the 1996-09-19 19:49:13 +00:00
sysv_ipc.c kern_descrip.c: add fdshare()/fdcopy() 1996-02-23 18:49:25 +00:00
sysv_msg.c Don't depend in the kernel on the gcc feature of doing arithmetic on 1996-08-31 14:48:13 +00:00
sysv_sem.c Clean up -Wunused warnings. 1996-06-12 05:11:41 +00:00
sysv_shm.c Fix a problem with child inheritance of sysv shm. Problem brought 1996-09-10 22:35:25 +00:00
tty_compat.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
tty_conf.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
tty_cons.c Add support for embedded operation withou console 1996-10-16 00:19:40 +00:00
tty_pty.c Clean up -Wunused warnings. 1996-06-12 05:11:41 +00:00
tty_snoop.c Switched from using devfs_add_devsw() to devfs_add_devswf() 1996-03-28 14:31:42 +00:00
tty_subr.c Attached simple external ddb commands show rtc', show pgrpdump' 1996-09-14 10:53:48 +00:00
tty_tb.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
tty_tty.c Switched from using devfs_add_devsw() to devfs_add_devswf() 1996-03-28 14:31:42 +00:00
tty.c Fixed the easy cases of const poisoning in the kernel. Cosmetic. 1996-08-31 16:52:44 +00:00
uipc_domain.c Modify the kernel to use the new pr_usrreqs interface rather than the old 1996-07-11 16:32:50 +00:00
uipc_mbuf.c fix handling of external objects referenced by mbufs 1996-08-19 03:32:10 +00:00
uipc_proto.c Clean up various compiler warnings. Most (if not all) were benign 1996-05-08 04:29:08 +00:00
uipc_sockbuf.c Fix two bugs I accidently put into the syn code at the last minute 1996-10-11 19:26:42 +00:00
uipc_socket2.c Fix two bugs I accidently put into the syn code at the last minute 1996-10-11 19:26:42 +00:00
uipc_socket.c Increase robustness of FreeBSD against high-rate connection attempt 1996-10-07 04:32:42 +00:00
uipc_syscalls.c Preserve file flags in accept(2). 1996-10-15 19:28:44 +00:00
uipc_usrreq.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_bio.c Fix a problem that could cause msync (or many other things) to deadlock. 1996-10-17 03:04:43 +00:00
vfs_cache.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_cluster.c Fix 4 problems: 1996-10-06 07:50:05 +00:00
vfs_conf.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_export.c I'm not sure why, but Netcon's TFS filesystem code doesn't want to 1996-10-17 17:56:07 +00:00
vfs_extattr.c In sys/time.h, struct timespec is defined as: 1996-09-19 18:21:32 +00:00
vfs_init.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_lookup.c Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vfs_mount.c Finished (?) cleaning up sysinit stuff. 1995-12-02 17:11:20 +00:00
vfs_subr.c I'm not sure why, but Netcon's TFS filesystem code doesn't want to 1996-10-17 17:56:07 +00:00
vfs_syscalls.c In sys/time.h, struct timespec is defined as: 1996-09-19 18:21:32 +00:00
vfs_vnops.c Even though this looks like it, this is not a complex code change. 1996-08-21 21:56:23 +00:00
vnode_if.pl Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
vnode_if.sh Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00
vnode_if.src Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all 1996-03-11 20:02:06 +00:00