1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-20 11:11:24 +00:00
freebsd/sys/kern
Brian Feldman 0e0af8ecda Rename SI_SUB_MUTEX to SI_SUB_MTX_POOL to make the name at all accurate.
While doing this, move it earlier in the sysinit boot process so that the
VM system can use it.

After that, the system is now able to use sx locks instead of lockmgr
locks in the VM system.  To accomplish this, some of the more
questionable uses of the locks (such as testing whether they are
owned or not, as well as allowing shared+exclusive recursion) are
removed, and simpler logic throughout is used so locks should also be
easier to understand.

This has been tested on my laptop for months, and has not shown any
problems on SMP systems, either, so appears quite safe.  One more
user of lockmgr down, many more to go :)
2002-03-13 23:48:08 +00:00
..
bus_if.m
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 Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
imgact_elf.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
imgact_gzip.c
imgact_shell.c
inflate.c
init_main.c Move the mount of the root filesystem to happen in the init process before 2002-03-08 10:33:11 +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 Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
kern_acl.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
kern_cap.c - Attempt to help declutter kern. sysctl by moving security out from 2002-01-16 06:55:30 +00:00
kern_clock.c MFS: synchronize the code with the version in -stable, specifically: 2002-02-11 23:56:18 +00:00
kern_condvar.c In a threaded world, differnt priorirites become properties of 2002-02-11 20:37:54 +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 Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
kern_environment.c
kern_event.c Add entry for EVFILT_NETDEV, which was inadverdently omitted back in Sept. 2002-01-24 17:20:55 +00:00
kern_exec.c Remove now unused struct proc *p. 2002-02-27 20:57:57 +00:00
kern_exit.c Do not lock the pgrpsess_lock exclusively across ttywait(). 2002-03-11 07:51:08 +00:00
kern_fork.c revert last commit temporarily due to whining on the lists. 2002-02-26 20:33:41 +00:00
kern_idle.c Pre-KSE/M3 commit. 2002-02-07 20:58:47 +00:00
kern_intr.c Make the DEVICE_POLLING code compile with -Werror and in LINT 2002-03-09 08:02:52 +00:00
kern_jail.c Make getcredhostname() take a buffer and the buffer's size 2002-02-27 16:43:20 +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 Read KTR_CPU into a temporary variable so that we use a consistent value 2002-03-08 18:55:59 +00:00
kern_ktrace.c Add a comment about an unlocked access to p_ucred that will go away in 2002-02-27 19:10:50 +00:00
kern_linker.c Don't assign strcmp to a variable called err and then compare it 2002-03-10 23:12:43 +00:00
kern_lock.c Change wmesg to const char * instead of char * 2002-03-05 17:45:12 +00:00
kern_lockf.c
kern_malloc.c Add realloc() and reallocf(), and make free(NULL, ...) acceptable. 2002-03-13 01:42:33 +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 Fix a warning. Do not assume pointer == long. 2002-02-26 00:55:27 +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 Tidy up some unused variables 2002-02-20 21:25:44 +00:00
kern_ntptime.c Revise timercounters to use binary fixed point format internally. 2002-02-07 21:21:55 +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 Lock struct pgrp, session and sigio. 2002-02-23 11:12:57 +00:00
kern_prot.c Stop abusing the pgrpsess_lock. 2002-03-11 07:53: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 Cast the variable, not the constant to 64 bits. 2002-02-26 09:27:39 +00:00
kern_sema.c
kern_shutdown.c Add needed includes of machine/smp.h, remove nested include in sys/smp.h 2002-03-07 04:43:51 +00:00
kern_sig.c Fix warning in !SMP case. 2002-02-26 09:21:52 +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 Rename runq_find() to runq_findproc(), and hide it behind #ifdef DIAGNOSTIC, 2002-03-06 15:34:07 +00:00
kern_sx.c Invert the test of sx_xholder for SX_LOCKED. We need to warn if a 2002-01-18 09:21:15 +00:00
kern_synch.c Convert p->p_runtime and PCPU(switchtime) to bintime format. 2002-02-22 13:32:01 +00:00
kern_syscalls.c
kern_sysctl.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
kern_tc.c Remove unused variable. 2002-02-26 09:16:27 +00:00
kern_time.c Take the common case of gettimeofday(&tv, NULL) out from under Giant. 2002-02-18 08:40:28 +00:00
kern_timeout.c
kern_xxx.c
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 Oops, fix previous commit to not generate a C comment in syscall.mk. 2002-01-30 15:12:12 +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 Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
subr_autoconf.c
subr_blist.c
subr_bus.c Don't (blindly) truncate the unit number to 4 digits when formatting the 2002-03-06 11:34:02 +00:00
subr_clist.c
subr_devstat.c GC: BIO_ORDERED, various infrastructure dealing with BIO_ORDERED. 2002-02-22 09:26:35 +00:00
subr_disk.c Make the disk_clone() routine more robust for abuse. 2002-03-11 08:08:02 +00:00
subr_disklabel.c GC: BIO_ORDERED, various infrastructure dealing with BIO_ORDERED. 2002-02-22 09:26:35 +00:00
subr_diskmbr.c
subr_diskslice.c Delete "notyet" code before it becomes "ohh no" code. 2002-03-09 20:11:25 +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 Add a per-cpu variable, cpumask, the preshifted equivalent of 1 << cpuid. 2002-01-05 09:35:50 +00:00
subr_power.c Add generalized power profile code. 2002-03-04 18:46:13 +00:00
subr_prf.c Stop abusing the pgrpsess_lock. 2002-03-11 07:53:13 +00:00
subr_prof.c
subr_rman.c
subr_sbuf.c Yet a bug with extensible sbufs being marked as OVERFLOWED. This time 2002-01-24 20:57:56 +00:00
subr_scanf.c
subr_smp.c Add needed includes of machine/smp.h, remove nested include in sys/smp.h 2002-03-07 04:43:51 +00:00
subr_taskqueue.c Change the preemption code for software interrupt thread schedules and 2002-01-05 08:47:13 +00:00
subr_trap.c Make this compile. 2002-02-23 01:42:13 +00:00
subr_turnstile.c Tidy up some unused variables 2002-02-20 21:25:44 +00:00
subr_witness.c - Use a MI critical section in witness_sleep() and witness_list() as they 2002-03-08 18:57:57 +00:00
subr_xxx.c GC the unused einval() 2002-02-10 22:07:41 +00:00
sys_generic.c Remove __P 2002-03-09 22:44:37 +00:00
sys_pipe.c Don't deref NULL mutex pointer when pipeclose()'ing a pipe that is not 2002-03-09 22:06:31 +00:00
sys_process.c Back out all the pmap related stuff I've touched over the last few days. 2002-02-27 09:51:33 +00:00
sys_socket.c SMP Lock struct file, filedesc and the global file list. 2002-01-13 11:58:06 +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 Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
sysv_msg.c - Use td_ucred for jail checks. 2002-03-05 18:57:36 +00:00
sysv_sem.c Fix a typo, unbreak the world. 2002-03-06 12:28:51 +00:00
sysv_shm.c - Use td_ucred for jail checks. 2002-03-05 18:57:36 +00:00
tty_compat.c
tty_conf.c
tty_cons.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
tty_pty.c Fix lock leakage and late unlock. 2002-03-02 12:42:24 +00:00
tty_subr.c
tty_tty.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
tty.c Stop abusing the pgrpsess_lock. 2002-03-11 07:53:13 +00:00
uipc_accf.c
uipc_domain.c
uipc_mbuf2.c
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 Get rid of the twisted MFREE() macro entirely. 2002-02-05 02:00:56 +00:00
uipc_socket2.c Get rid of the twisted MFREE() macro entirely. 2002-02-05 02:00:56 +00:00
uipc_socket.c In sosend(), enforce the socket buffer limits regardless of whether 2002-02-28 11:22:40 +00:00
uipc_syscalls.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
uipc_usrreq.c - Change unp_listen() to accept a thread rather than a proc as its second 2002-02-27 19:14:01 +00:00
vfs_acl.c Simple p_ucred -> td_ucred changes to start using the per-thread ucred 2002-02-27 18:32:23 +00:00
vfs_aio.c Document all functions, global and static variables, and sysctls. 2002-03-05 15:38:49 +00:00
vfs_bio.c * Move bswlist declaration and initialization from kern/vfs_bio.c to 2002-03-05 18:20:58 +00:00
vfs_cache.c This patch adds the "LOCKSHARED" option to namei which causes it to only acquire shared locks on leafs. 2002-03-12 04:00:11 +00:00
vfs_cluster.c Document all functions, global and static variables, and sysctls. 2002-03-05 15:38:49 +00:00
vfs_conf.c Move the mount of the root filesystem to happen in the init process before 2002-03-08 10:33:11 +00:00
vfs_default.c Document all functions, global and static variables, and sysctls. 2002-03-05 15:38:49 +00:00
vfs_export.c Check the version of ex_anon (a `struct xucred') before using it to 2002-03-03 06:07:57 +00:00
vfs_extattr.c This patch adds the "LOCKSHARED" option to namei which causes it to only acquire shared locks on leafs. 2002-03-12 04:00:11 +00:00
vfs_init.c Document all functions, global and static variables, and sysctls. 2002-03-05 15:38:49 +00:00
vfs_lookup.c - Change namei() to use td_ucred instead of p_ucred. 2002-02-27 19:15:29 +00:00
vfs_mount.c Move the mount of the root filesystem to happen in the init process before 2002-03-08 10:33:11 +00:00
vfs_subr.c Three p_ucred -> td_ucred's missed in jhb's earlier pass; all appear to 2002-03-05 19:45:45 +00:00
vfs_syscalls.c This patch adds the "LOCKSHARED" option to namei which causes it to only acquire shared locks on leafs. 2002-03-12 04:00:11 +00:00
vfs_vnops.c This patch adds the "LOCKSHARED" option to namei which causes it to only acquire shared locks on leafs. 2002-03-12 04:00:11 +00:00
vnode_if.pl Throw the $FreeBSD$s back in, properly escaping them. 2002-01-04 05:27:47 +00:00
vnode_if.src Per discussion at BSDCon, note that the vop_getattr locking protocol 2002-02-18 00:22:57 +00:00