freebsd-nq/sys/kern
Alfred Perlstein 628abf6c69 Giant pushdown for read/write/pread/pwrite syscalls.
kern/kern_descrip.c:
Aquire Giant in fdrop_locked when file refcount hits zero, this removes
the requirement for the caller to own Giant for the most part.

kern/kern_ktrace.c:
Aquire Giant in ktrgenio, simplifies locking in upper read/write syscalls.

kern/vfs_bio.c:
Aquire Giant in bwillwrite if needed.

kern/sys_generic.c
Giant pushdown, remove Giant for:
   read, pread, write and pwrite.
readv and writev aren't done yet because of the possible malloc calls
for iov to uio processing.

kern/sys_socket.c
Grab giant in the socket fo_read/write functions.

kern/vfs_vnops.c
Grab giant in the vnode fo_read/write functions.
2002-03-15 08:03:46 +00:00
..
bus_if.m Alter the return value and arguments of the GET_RESOURCE_LIST bus method. 2000-11-28 06:49:15 +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 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 Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loader 2001-10-10 23:06:54 +00:00
imgact_shell.c Return a more meaningful errno when the length of the interpreter 2001-11-28 03:26:58 +00:00
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 Giant pushdown for read/write/pread/pwrite syscalls. 2002-03-15 08:03:46 +00:00
kern_environment.c Fix an inverted test csae. Success of getenv() is determined by a return 2001-10-25 17:22:31 +00:00
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 Giant pushdown for read/write/pread/pwrite syscalls. 2002-03-15 08:03:46 +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 make LOCKF_DEBUG kernel option work (sorta) 2001-12-02 12:47:25 +00:00
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 Repeat after me -- "Use of ANSI string concatenation can be bad." 2001-12-10 05:40:12 +00:00
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 KSE Milestone 2 2001-09-12 08:38:13 +00:00
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 Move most of the kernel submap initialization code, including the 2001-08-22 04:07:27 +00:00
kern_xxx.c KSE Milestone 2 2001-09-12 08:38: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 Add the sysctl "kern.function_list", which currently exports all 2001-10-30 15:21:45 +00:00
Make.tags.inc Don't hardcode /sys when making tags, instead use ${.CURDIR}/.. this 2002-02-27 10:07:15 +00:00
Makefile Don't generate <sys/syscalls-hide.h> it has never had any users anywhere in 2001-10-13 09:17:49 +00:00
makeobjops.pl Switch warnings and strict back on again in a way that's compatible 2001-11-16 02:02:42 +00:00
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 Import kernel part of SMB/CIFS requester. 2001-04-10 07:59:06 +00:00
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 With Alfred's permission, remove vm_mtx in favor of a fine-grained approach 2001-07-04 16:20:28 +00:00
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 Make cblock_alloc_cblocks() spell its own name 2001-03-27 10:21:26 +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 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 Wrap Dangerously Dedicated printf under if (bootverbose) 2001-12-11 05:35:43 +00:00
subr_diskslice.c Delete "notyet" code before it becomes "ohh no" code. 2002-03-09 20:11:25 +00:00
subr_eventhandler.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_hints.c Fix a fatal type mismatch (char *static_env; vs char static_env[]). 2001-09-17 21:27:41 +00:00
subr_kobj.c Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
subr_log.c Use the passed in thread to selrecord() instead of curthread. 2001-09-21 22:46:54 +00:00
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 Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
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 - Change all callers of addupc_task() to check PS_PROFIL explicitly and 2001-12-18 09:06:10 +00:00
subr_rman.c Add a rman_reserve_resource_bound() function that takes an additional 2001-12-21 21:40:55 +00:00
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 Giant pushdown for read/write/pread/pwrite syscalls. 2002-03-15 08:03:46 +00:00
sys_pipe.c Bug fixes: 2002-03-15 07:18:09 +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 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 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 KSE Milestone 2 2001-09-12 08:38:13 +00:00
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 Make cblock_alloc_cblocks() spell its own name 2001-03-27 10:21:26 +00:00
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 Fixes to make select/poll mpsafe. 2002-03-14 01:32:30 +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 Update the comment about System initialization to reflect the use of 2001-12-08 04:20:54 +00:00
uipc_mbuf2.c Sync with recent KAME. 2001-06-11 12:39:29 +00:00
uipc_mbuf.c Get rid of the twisted MFREE() macro entirely. 2002-02-05 02:00:56 +00:00
uipc_proto.c Implement a LOCAL_PEERCRED socket option which returns a 2001-08-17 22:01:18 +00:00
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 Giant pushdown for read/write/pread/pwrite syscalls. 2002-03-15 08:03:46 +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 Giant pushdown for read/write/pread/pwrite syscalls. 2002-03-15 08:03:46 +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