freebsd-skq/sys/kern
des f6a3790f10 Mutex profiling code, conditional on the MUTEX_PROFILING option. Adds the
following sysctl variables:

  debug.mutex.prof.enable	    enable / disable profiling
  debug.mutex.prof.acquisitions	    number of mutex acquisitions recorded
  debug.mutex.prof.records	    number of acquisition points recorded
  debug.mutex.prof.maxrecords	    max number of acquisition points
  debug.mutex.prof.rejected	    number of rejections (due to full table)
  debug.mutex.prof.hashsize	    hash size
  debug.mutex.prof.collisions	    number of hash collisions
  debug.mutex.prof.stats	    profiling statistics

The code records four numbers for each acquisition point (identified by
source file name and line number): longest time held, total time held,
number of non-recursive acquisitions, average time held.  The measurements
are in clock cycles (as returned by get_cyclecount(9)); this may cause
measurements on some SMP systems to be unreliable.  This can probably be
worked around by replacing get_cyclecount(9) by some incarnation of
nanotime(9).

This work was derived from initial patches by eivind.
2002-04-02 00:01:49 +00:00
..
bus_if.m "Fixed" -Wshadow warnings by changing the name of some function parameters 2002-03-27 04:04:17 +00:00
device_if.m
genassym.sh Allow one to specify the AWK used in the environment(commandline). 2002-02-11 03:54:30 +00:00
imgact_aout.c Remove __P. 2002-03-19 21:25:46 +00:00
imgact_elf.c Remove __P. 2002-03-19 21:25:46 +00:00
imgact_gzip.c Modernize my email address. 2002-03-25 13:52:45 +00:00
imgact_shell.c
inflate.c Modernize my email address. 2002-03-25 13:52:45 +00:00
init_main.c The description of fd_mtx is "filedesc structure." 2002-03-29 11:26:05 +00:00
init_sysent.c Part II: update various mechanically generated files to allow for new 2002-03-05 16:13:01 +00:00
kern_acct.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
kern_acl.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
kern_cap.c
kern_clock.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_condvar.c Nuke CV_DEBUG in favour of INVARIANTS. 2002-03-30 03:52:52 +00:00
kern_conf.c Make the proposed name arg to dev_stdclone() const. 2002-03-10 10:50:05 +00:00
kern_descrip.c The description of fd_mtx is "filedesc structure." 2002-03-29 11:26:05 +00:00
kern_environment.c
kern_event.c Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:09:59 +00:00
kern_exec.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
kern_exit.c Close some holes with p->p_args by NULL'ing out the p->p_args pointer 2002-03-31 10:33:12 +00:00
kern_fork.c Stage-2 commit of the critical*() code. This re-inlines cpu_critical_enter() 2002-04-01 23:51:23 +00:00
kern_idle.c Pre-KSE/M3 commit. 2002-02-07 20:58:47 +00:00
kern_intr.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_jail.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
kern_kthread.c Fix a couple of style bugs introduced (or touched by) previous commit. 2002-02-07 23:06:26 +00:00
kern_ktr.c ktr changes to improve performance and make writing a userland utility to 2002-04-01 05:35:26 +00:00
kern_ktrace.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
kern_linker.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
kern_lock.c Change wmesg to const char * instead of char * 2002-03-05 17:45:12 +00:00
kern_lockf.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_malloc.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_mib.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
kern_module.c - Lock down the ``module'' structure by adding an SX lock that is used by 2002-03-18 07:45:30 +00:00
kern_mtxpool.c Rename SI_SUB_MUTEX to SI_SUB_MTX_POOL to make the name at all accurate. 2002-03-13 23:48:08 +00:00
kern_mutex.c Mutex profiling code, conditional on the MUTEX_PROFILING option. Adds the 2002-04-02 00:01:49 +00:00
kern_ntptime.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
kern_physio.c
kern_poll.c Make the DEVICE_POLLING code compile with -Werror and in LINT 2002-03-09 08:02:52 +00:00
kern_proc.c Stage-2 commit of the critical*() code. This re-inlines cpu_critical_enter() 2002-04-01 23:51:23 +00:00
kern_prot.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
kern_random.c Load the current timecounter into tc. The timecounter global can change 2002-02-18 19:49:30 +00:00
kern_resource.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
kern_sema.c
kern_shutdown.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
kern_sig.c Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 05:09:11 +00:00
kern_subr.c In a threaded world, differnt priorirites become properties of 2002-02-11 20:37:54 +00:00
kern_switch.c Stage-2 commit of the critical*() code. This re-inlines cpu_critical_enter() 2002-04-01 23:51:23 +00:00
kern_sx.c
kern_synch.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_syscalls.c - Lock down the ``module'' structure by adding an SX lock that is used by 2002-03-18 07:45:30 +00:00
kern_sysctl.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
kern_tc.c Get the magnitude of the NTP adjustment right. 2002-03-28 16:02:44 +00:00
kern_time.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
kern_timeout.c Remove __P. 2002-03-19 21:25:46 +00:00
kern_xxx.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
ksched.c In a threaded world, differnt priorirites become properties of 2002-02-11 20:37:54 +00:00
link_aout.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
link_elf_obj.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
link_elf.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
linker_if.m
Make.tags.inc Don't hardcode /sys when making tags, instead use ${.CURDIR}/.. this 2002-02-27 10:07:15 +00:00
Makefile
makeobjops.pl
makesyscalls.sh don't generate files with __P. 2002-03-19 20:48:32 +00:00
md4c.c
md5c.c
p1003_1b.c Pre-KSE/M3 commit. 2002-02-07 20:58:47 +00:00
posix4_mib.c
subr_acl_posix1e.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
subr_autoconf.c Remove __P. 2002-03-19 21:25:46 +00:00
subr_blist.c
subr_bus.c Add resource_list_add_next() which returns the RID for the resource added. 2002-03-29 06:42:54 +00:00
subr_clist.c Remove __P. 2002-03-19 21:25:46 +00:00
subr_devstat.c GC: BIO_ORDERED, various infrastructure dealing with BIO_ORDERED. 2002-02-22 09:26:35 +00:00
subr_disk.c Here follows the new kernel dumping infrastructure. 2002-03-31 22:37:00 +00:00
subr_disklabel.c Fixed handling of short reads in readdisklabel() and writedisklabel(). 2002-03-30 16:02:43 +00:00
subr_diskmbr.c Remove __P. 2002-03-19 21:25:46 +00:00
subr_diskslice.c Implement the two "GEOM" ioctls DIOCGSECTORSIZE and DIOCGMEDIASIZE for 2002-03-31 21:17:12 +00:00
subr_eventhandler.c
subr_hints.c
subr_kobj.c
subr_log.c
subr_mbuf.c Fix bug in mb_alloc that made systems configured with 2002-03-03 22:10:04 +00:00
subr_mchain.c Add support for iovcnt greater than 1. This should resolve problems 2002-02-21 16:23:38 +00:00
subr_module.c
subr_param.c Unconditionally limit maxproc so that it is not possible 2002-03-07 04:50:36 +00:00
subr_pcpu.c
subr_power.c Add generalized power profile code. 2002-03-04 18:46:13 +00:00
subr_prf.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
subr_prof.c Remove __P. 2002-03-19 21:25:46 +00:00
subr_rman.c
subr_sbuf.c Fix warnings on gcc-3.1+ where __func__ is a const char * instead of a 2002-03-19 10:56:46 +00:00
subr_scanf.c
subr_smp.c - Remove a semi-colon from after SYSINIT that was introduced in rev. 1.163. 2002-03-20 14:46:38 +00:00
subr_taskqueue.c
subr_trap.c Style fixes purposefully left out of last commit. I checked the kse tree 2002-03-29 16:45:03 +00:00
subr_turnstile.c Mutex profiling code, conditional on the MUTEX_PROFILING option. Adds the 2002-04-02 00:01:49 +00:00
subr_witness.c Add a new mtx_init option "MTX_DUPOK" which allows duplicate acquires of locks 2002-03-27 09:23:41 +00:00
subr_xxx.c Here follows the new kernel dumping infrastructure. 2002-03-31 22:37:00 +00:00
sys_generic.c Remove __P. 2002-03-19 21:25:46 +00:00
sys_pipe.c Allow resursion on the pipe mutex because filt_piperead() and filt_pipewrite() 2002-03-27 21:47:50 +00:00
sys_process.c Convert all pmap_kenter/pmap_kremove pairs in MI code to use pmap_qenter/ 2002-03-17 00:56:41 +00:00
sys_socket.c Giant pushdown for read/write/pread/pwrite syscalls. 2002-03-15 08:03:46 +00:00
syscalls.c Part II: update various mechanically generated files to allow for new 2002-03-05 16:13:01 +00:00
syscalls.master Reserve system call numbers for the MAC framework. This will prevent 2002-03-05 16:11:11 +00:00
sysv_ipc.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
sysv_msg.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
sysv_sem.c Remove __P. 2002-03-19 21:25:46 +00:00
sysv_shm.c Remove __P. 2002-03-19 21:25:46 +00:00
tty_compat.c Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 05:09:11 +00:00
tty_conf.c
tty_cons.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
tty_pty.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
tty_subr.c Remove __P. 2002-03-19 21:25:46 +00:00
tty_tty.c Remove __P. 2002-03-19 21:25:46 +00:00
tty.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
uipc_accf.c
uipc_domain.c Add calls to uma_zone_set_max() to restore previously enforced limits. 2002-03-20 05:30:58 +00:00
uipc_mbuf2.c Remove __P. 2002-03-19 21:25:46 +00:00
uipc_mbuf.c Get rid of the twisted MFREE() macro entirely. 2002-02-05 02:00:56 +00:00
uipc_proto.c
uipc_sockbuf.c Backout part of my previous commit; I was wrong about vm_zone's handling of 2002-03-20 04:39:32 +00:00
uipc_socket2.c Backout part of my previous commit; I was wrong about vm_zone's handling of 2002-03-20 04:39:32 +00:00
uipc_socket.c UMA permited us to utilize the 'waitok' flag to soalloc. 2002-03-20 21:23:26 +00:00
uipc_syscalls.c Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 05:09:11 +00:00
uipc_usrreq.c Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 05:09:11 +00:00
vfs_acl.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
vfs_aio.c Keep the reference to the file acquired in _aio_aqueue() until the operation 2002-03-31 20:17:56 +00:00
vfs_bio.c Remove __P. 2002-03-19 21:25:46 +00:00
vfs_cache.c Remove __P. 2002-03-19 21:25:46 +00:00
vfs_cluster.c Remove __P. 2002-03-19 21:25:46 +00:00
vfs_conf.c Centralize the "bootdev" and "dumpdev" variables. They are still pretty 2002-03-31 07:15:28 +00:00
vfs_default.c Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:09:59 +00:00
vfs_export.c Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-24 05:09:11 +00:00
vfs_extattr.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
vfs_init.c Commit work-around for panics when mounting FS's that are auto-loaded as 2002-03-25 21:30:50 +00:00
vfs_lookup.c Remove references to vm_zone.h and switch over to the new uma API. 2002-03-20 04:09:59 +00:00
vfs_mount.c Centralize the "bootdev" and "dumpdev" variables. They are still pretty 2002-03-31 07:15:28 +00:00
vfs_subr.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
vfs_syscalls.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
vfs_vnops.c Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
vnode_if.pl
vnode_if.src Introduce the new 64-bit size disk block, daddr64_t. Change 2002-03-15 18:49:47 +00:00