freebsd-src/sys/kern
John Baldwin b7e554f5d6 - Move the 'clk' spinlock below other spin locks since KTR trace events
may need the clock lock for nanotime().
- Add KTR trace events for lock list manipulations and other witness
  operations.
- Use a temporary variable instead of setting the lock list head directly
  and then setting up the links to add a new lock list entry to the lock
  list.  This small race could result in witness "forgetting" about all
  the locks held by this process temporarily during an interrupt.
- Close a more fatal race condition when removing a lock from a list.
  Removing a lock from the list entails both decrementing the count of
  items in this bucket as well as shuffling items in the current bucket up
  a notch to replace the gap left by the removed item.  Wrap these
  operations in a critical section.
2001-06-25 23:17:52 +00:00
..
bus_if.m
device_if.m
genassym.sh Improve kernel bootstrapping: 2001-01-28 06:39:56 +00:00
imgact_aout.c Introduce a global lock for the vm subsystem (vm_mtx). 2001-05-19 01:28:09 +00:00
imgact_elf.c Lock the VM while twiddling the vmspace. 2001-05-23 22:05:08 +00:00
imgact_gzip.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
imgact_shell.c
inflate.c
init_main.c With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
init_sysent.c Regen syscalls that were made mpsafe via vm_mtx 2001-05-19 01:37:12 +00:00
kern_acct.c o Merge contents of struct pcred into struct ucred. Specifically, add the 2001-05-25 16:59:11 +00:00
kern_acl.c o As part of the move to not maintaining copies of the vnode owning uid 2001-04-29 19:53:50 +00:00
kern_cap.c
kern_clock.c Remove unneeded includes of sys/ipl.h and machine/ipl.h. 2001-05-15 23:22:29 +00:00
kern_condvar.c - Lock CURSIG with the proc lock and don't release the proc lock until 2001-06-22 23:06:38 +00:00
kern_conf.c Create a general facility for making dev_t's depend on another 2001-05-26 08:27:58 +00:00
kern_descrip.c o Merge contents of struct pcred into struct ucred. Specifically, add the 2001-05-25 16:59:11 +00:00
kern_environment.c Fix some warnings in kern_environment.c. Make the getenv*() family 2001-06-15 07:29:17 +00:00
kern_event.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
kern_exec.c Fix some lock order reversals where we called free() while holding a proc 2001-06-20 23:10:06 +00:00
kern_exit.c o Merge contents of struct pcred into struct ucred. Specifically, add the 2001-05-25 16:59:11 +00:00
kern_fork.c Rename nextpid to lastpid and externalize it. 2001-06-11 21:54:19 +00:00
kern_idle.c - Split out the support for per-CPU data from the SMP code. UP kernels 2001-05-10 17:45:49 +00:00
kern_intr.c Count the switch when an ithread goes idle as a voluntary context switch. 2001-06-25 18:27:33 +00:00
kern_jail.c o Move per-process jail pointer (p->pr_prison) to inside of the subject 2001-02-21 06:39:57 +00:00
kern_kthread.c Convert the allproc and proctree locks from lockmgr locks to sx locks. 2001-03-28 11:52:56 +00:00
kern_ktr.c - Replace the unused KTR_IDLELOOP trace class with a new KTR_WITNESS trace 2001-06-25 23:09:31 +00:00
kern_ktrace.c o Merge contents of struct pcred into struct ucred. Specifically, add the 2001-05-25 16:59:11 +00:00
kern_linker.c Constify (silence warnings introduced by last commit to sys/module.h) 2001-06-20 16:08:45 +00:00
kern_lock.c Instead of asserting that a mutex is not still locked after unlocking it, 2001-04-28 12:11:01 +00:00
kern_lockf.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
kern_malloc.c Introduce numerous SMP friendly changes to the mbuf allocator. Namely, 2001-06-22 06:35:32 +00:00
kern_mib.c changed hostid from long to unsigned long to be able to store values > 2GB 2001-06-22 16:03:14 +00:00
kern_module.c Mechanical change to use <sys/queue.h> macro API instead of 2001-02-04 13:13:25 +00:00
kern_mutex.c Count the context switch when blocking on a mutex as a voluntary context 2001-06-25 18:29:32 +00:00
kern_ntptime.c Update to the 2001-04-02 version of the nanokernel code from Dave Mills. 2001-04-16 13:05:05 +00:00
kern_physio.c
kern_proc.c Fix some lock order reversals where we called free() while holding a proc 2001-06-20 23:10:06 +00:00
kern_prot.c Unbreak setregid(2). 2001-06-06 13:58:03 +00:00
kern_random.c
kern_resource.c Introduce a global lock for the vm subsystem (vm_mtx). 2001-05-19 01:28:09 +00:00
kern_shutdown.c - Sort includes. 2001-06-25 18:30:42 +00:00
kern_sig.c - Change CURSIG() and postsig() to require that the proc lock is held 2001-06-22 23:02:37 +00:00
kern_subr.c After one too many PRs on the subject, bite the bullet and define IOV_MAX 2001-06-18 20:24:54 +00:00
kern_switch.c Catch up to header include changes: 2001-03-28 09:17:56 +00:00
kern_sx.c - Move state about lock objects out of struct lock_object and into a new 2001-05-04 17:15:16 +00:00
kern_synch.c - Lock CURSIG() with the proc lock to close the signal race with psignal. 2001-06-22 23:11:26 +00:00
kern_syscalls.c sysvipc loadable. 2000-12-01 08:57:47 +00:00
kern_sysctl.c int -> size_t fix 2001-06-22 19:54:38 +00:00
kern_tc.c Remove a bogus #ifdef KTR stanza. 2001-01-01 23:09:53 +00:00
kern_time.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
kern_timeout.c Catch up to header include changes: 2001-03-28 09:17:56 +00:00
kern_xxx.c This is kind of a hack, but it should work. Currently, world is broken 2001-03-24 04:40:49 +00:00
ksched.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
link_aout.c With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
link_elf_obj.c With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
link_elf.c With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
linker_if.m With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
Make.tags.inc Remove vestiges of MFS. 2001-06-01 10:07:28 +00:00
Makefile Remove vestiges of MFS. 2001-06-01 10:07:28 +00:00
makeobjops.pl Use getopt instead of a home grown one 2001-04-07 20:51:24 +00:00
makesyscalls.sh Add reserved lkmressys keyword. I swear, this script will die the 2000-12-01 08:47:54 +00:00
md4c.c Import kernel part of SMB/CIFS requester. 2001-04-10 07:59:06 +00:00
md5c.c
p1003_1b.c o Merge contents of struct pcred into struct ucred. Specifically, add the 2001-05-25 16:59:11 +00:00
posix4_mib.c
subr_acl_posix1e.c o As part of the move to not maintaining copies of the vnode owning uid 2001-04-29 19:53:50 +00:00
subr_autoconf.c
subr_blist.c Introduce a global lock for the vm subsystem (vm_mtx). 2001-05-19 01:28:09 +00:00
subr_bus.c Hints overhaul: 2001-06-12 09:40:04 +00:00
subr_clist.c Make cblock_alloc_cblocks() spell its own name 2001-03-27 10:21:26 +00:00
subr_devstat.c Another round of the <sys/queue.h> FOREACH transmogriffer. 2001-02-04 16:08:18 +00:00
subr_disk.c Remove the hack-around for the slice/label code, it didn't 2001-05-29 18:19:57 +00:00
subr_disklabel.c Create a general facility for making dev_t's depend on another 2001-05-26 08:27:58 +00:00
subr_diskmbr.c Create a general facility for making dev_t's depend on another 2001-05-26 08:27:58 +00:00
subr_diskslice.c Create a general facility for making dev_t's depend on another 2001-05-26 08:27:58 +00:00
subr_eventhandler.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
subr_hints.c Hints overhaul: 2001-06-12 09:40:04 +00:00
subr_kobj.c Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
subr_log.c syslogd gets kernel log messages only once every 30 seconds or 2001-05-23 19:02:50 +00:00
subr_mbuf.c Temporary fix at least- define NCPU_PRESENT which will be mp_npcus for 2001-06-22 16:03:23 +00:00
subr_mchain.c Remove superfluous m_pkthdr.rcv_if = NULL assignment following 2001-02-25 06:33:50 +00:00
subr_module.c Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
subr_param.c Introduce numerous SMP friendly changes to the mbuf allocator. Namely, 2001-06-22 06:35:32 +00:00
subr_pcpu.c - Split out the support for per-CPU data from the SMP code. UP kernels 2001-05-10 17:45:49 +00:00
subr_prf.c Use PCPU_GET, PCPU_PTR and PCPU_SET to access all per-cpu variables 2001-01-10 04:43:51 +00:00
subr_prof.c We don't need to hold a lock just to test a flag. 2001-06-06 22:05:48 +00:00
subr_rman.c Handle NULL struct device *s 2001-05-28 01:00:03 +00:00
subr_sbuf.c Fix warnings: 2001-06-16 07:02:47 +00:00
subr_scanf.c
subr_smp.c - Split out the support for per-CPU data from the SMP code. UP kernels 2001-05-10 17:45:49 +00:00
subr_taskqueue.c remove include of ipl.h because it no longer exists 2001-05-16 02:52:06 +00:00
subr_trap.c - Grab the proc lock around CURSIG and postsig(). Don't release the proc 2001-06-22 23:05:11 +00:00
subr_turnstile.c Count the context switch when blocking on a mutex as a voluntary context 2001-06-25 18:29:32 +00:00
subr_witness.c - Move the 'clk' spinlock below other spin locks since KTR trace events 2001-06-25 23:17:52 +00:00
subr_xxx.c Extend kqueue down to the device layer. 2001-02-15 16:34:11 +00:00
sys_generic.c Back out scanning file descriptors with holding a process lock. 2001-05-15 10:19:57 +00:00
sys_pipe.c Correctly hook up the write kqfilter to pipes. 2001-06-15 20:45:01 +00:00
sys_process.c - FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file 2001-05-23 09:42:29 +00:00
sys_socket.c Extend kqueue down to the device layer. 2001-02-15 16:34:11 +00:00
syscalls.c Regen syscalls that were made mpsafe via vm_mtx 2001-05-19 01:37:12 +00:00
syscalls.master Remove a comment which was past its shelf life. 2001-05-29 09:22:22 +00:00
sysv_ipc.c sysvipc loadable. 2000-12-01 08:57:47 +00:00
sysv_msg.c Export via sysctl: 2001-05-30 03:28:59 +00:00
sysv_sem.c Export via sysctl: 2001-05-30 03:28:59 +00:00
sysv_shm.c Export via sysctl: 2001-05-30 03:28:59 +00:00
tty_compat.c
tty_conf.c Unstaticize l_nullioctl; it is needed elsewhere (like in tty_snoop.c). 2001-06-04 23:30:47 +00:00
tty_cons.c With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
tty_pty.c Don't remove the SI_CHEAPCLONE for unsupported minors 2001-06-18 09:22:30 +00:00
tty_snoop.c Add a line discipline close routine which restores some functionality 2001-06-05 05:07:53 +00:00
tty_subr.c Make cblock_alloc_cblocks() spell its own name 2001-03-27 10:21:26 +00:00
tty_tty.c Support /dev/ctty again 2001-05-15 18:12:38 +00:00
tty.c Unifdef DEV_SNP; snp(4) no longer requires these ugly hacks. 2001-05-22 22:16:18 +00:00
uipc_accf.c Revert the last bits of my bogus move of NMBCLUSTERS 2001-06-01 21:47:34 +00:00
uipc_domain.c Sync with recent KAME. 2001-06-11 12:39:29 +00:00
uipc_mbuf2.c Sync with recent KAME. 2001-06-11 12:39:29 +00:00
uipc_mbuf.c Introduce numerous SMP friendly changes to the mbuf allocator. Namely, 2001-06-22 06:35:32 +00:00
uipc_proto.c
uipc_sockbuf.c "Fix" the previous initial attempt at fixing TUNABLE_INT(). This time 2001-06-08 05:24:21 +00:00
uipc_socket2.c "Fix" the previous initial attempt at fixing TUNABLE_INT(). This time 2001-06-08 05:24:21 +00:00
uipc_socket.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
uipc_syscalls.c Don't dereference a NULL pointer if we fail to get a sendfilebuf. 2001-06-24 12:27:30 +00:00
uipc_usrreq.c o Merge contents of struct pcred into struct ucred. Specifically, add the 2001-05-25 16:59:11 +00:00
vfs_acl.c o As part of the move to not maintaining copies of the vnode owning uid 2001-04-29 19:53:50 +00:00
vfs_aio.c Check validity of signal callback requested via aio routines. 2001-04-18 22:18:39 +00:00
vfs_bio.c This patch implements O_DIRECT about 80% of the way. It takes a patchset 2001-05-24 07:22:27 +00:00
vfs_cache.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
vfs_cluster.c This patch implements O_DIRECT about 80% of the way. It takes a patchset 2001-05-24 07:22:27 +00:00
vfs_conf.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
vfs_default.c Don't release the vm lock just to turn around and grab it again. 2001-05-23 19:51:12 +00:00
vfs_export.c Since the netexport struct was centralised to 'struct mount', 2001-05-29 17:46:52 +00:00
vfs_extattr.c Fix an instance of NDINIT in the extattrctl syscall: LOCKLEAF was or'ed 2001-06-06 23:34:38 +00:00
vfs_init.c Revert consequences of changes to mount.h, part 2. 2001-04-29 02:45:39 +00:00
vfs_lookup.c After exhaustive discussions and some meandering and confusion, enough 2001-06-24 05:24:41 +00:00
vfs_mount.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
vfs_subr.c Introduce a global lock for the vm subsystem (vm_mtx). 2001-05-19 01:28:09 +00:00
vfs_syscalls.c Fix an instance of NDINIT in the extattrctl syscall: LOCKLEAF was or'ed 2001-06-06 23:34:38 +00:00
vfs_vnops.c This patch implements O_DIRECT about 80% of the way. It takes a patchset 2001-05-24 07:22:27 +00:00
vnode_if.pl replace calls to non-existant bail() subroutine with calls to 2001-03-23 11:48:50 +00:00
vnode_if.src VOP_BALLOC was never really a VOP in the first place, so convert it 2001-04-29 12:36:52 +00:00