freebsd-dev/sys/kern
Matthew Dillon 3418ebebfe Make uio_yield() a global. Call uio_yield() between chunks
in vn_rdwr_inchunks(), allowing other processes to gain an exclusive
lock on the vnode.  Specifically: directory scanning, to avoid a race to the
root directory, and multiple child processes coring simultaniously so they
can figure out that some other core'ing child has an exclusive adv lock and
just exit instead.

This completely fixes performance problems when large programs core.  You
can have hundreds of copies (forked children) of the same binary core all
at once and not notice.

MFC after:	3 days
2001-09-26 06:54:32 +00:00
..
bus_if.m
device_if.m
genassym.sh
imgact_aout.c Make uio_yield() a global. Call uio_yield() between chunks 2001-09-26 06:54:32 +00:00
imgact_elf.c Make uio_yield() a global. Call uio_yield() between chunks 2001-09-26 06:54:32 +00:00
imgact_gzip.c
imgact_shell.c
inflate.c
init_main.c Don't initialize proc0's mutex twice. It is already done earlier on in the 2001-09-18 22:09:47 +00:00
init_sysent.c o Part two of eaccess(2) commit, rebuilt system call code. 2001-09-21 21:34:06 +00:00
kern_acct.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_acl.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_cap.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_clock.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_condvar.c Add missing ; in last commit 2001-09-19 02:53:59 +00:00
kern_conf.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_descrip.c If an incoming struct proc could have been NULL before, tehn don't 2001-09-12 20:26:57 +00:00
kern_environment.c Add a pointer to kenv(1). 2001-09-21 02:25:53 +00:00
kern_event.c Use the passed in thread to selrecord() instead of curthread. 2001-09-21 22:46:54 +00:00
kern_exec.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_exit.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_fork.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_idle.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_intr.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_jail.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_kthread.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_ktr.c
kern_ktrace.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_linker.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_lock.c Fix locking on td_flags for TDF_DEADLKTREAT. If the comments in the code 2001-09-13 22:33:37 +00:00
kern_lockf.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_malloc.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_mib.c
kern_module.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_mutex.c Remove superflous parens after de-macroizing. 2001-09-26 00:05:18 +00:00
kern_ntptime.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_physio.c
kern_proc.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_prot.c o So, when <dd> e-mailed me and said that the comment was inverted 2001-09-25 21:08:33 +00:00
kern_random.c
kern_resource.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_sema.c
kern_shutdown.c decrement the dumping variable after use so we can call it several times 2001-09-20 06:08:53 +00:00
kern_sig.c Lock the vnode while truncating the corefile. This fixes a panic 2001-09-26 01:24:07 +00:00
kern_subr.c Make uio_yield() a global. Call uio_yield() between chunks 2001-09-26 06:54:32 +00:00
kern_switch.c Change p into ke->ke_proc, this was hidden behind INVARIANTS. 2001-09-18 03:36:21 +00:00
kern_sx.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_synch.c GC some #if 0'd code. 2001-09-21 19:21:18 +00:00
kern_syscalls.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_sysctl.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_tc.c
kern_time.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_timeout.c
kern_xxx.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
ksched.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
link_aout.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
link_elf_obj.c The ia64 kernel is now linked dynamically so parse its _DYNAMIC structure. 2001-09-15 11:02:10 +00:00
link_elf.c The ia64 kernel is now linked dynamically so parse its _DYNAMIC structure. 2001-09-15 11:02:10 +00:00
linker_if.m
Make.tags.inc
Makefile
makeobjops.pl
makesyscalls.sh KSE Milestone 2 2001-09-12 08:38:13 +00:00
md4c.c
md5c.c
p1003_1b.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
posix4_mib.c
subr_acl_posix1e.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_autoconf.c
subr_blist.c
subr_bus.c
subr_clist.c
subr_devstat.c
subr_disk.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_disklabel.c
subr_diskmbr.c
subr_diskslice.c KSE Milestone 2 2001-09-12 08:38:13 +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
subr_log.c Use the passed in thread to selrecord() instead of curthread. 2001-09-21 22:46:54 +00:00
subr_mbuf.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_mchain.c
subr_module.c
subr_param.c
subr_pcpu.c
subr_prf.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_prof.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_rman.c
subr_sbuf.c
subr_scanf.c
subr_smp.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_taskqueue.c
subr_trap.c Remove a bogus comment. "atomic" doesn't mean that the operation is done 2001-09-21 19:26:57 +00:00
subr_turnstile.c Remove superflous parens after de-macroizing. 2001-09-26 00:05:18 +00:00
subr_witness.c Remove unneeded proc variables and fix comments. 2001-09-21 21:54:45 +00:00
subr_xxx.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
sys_generic.c The P_SELECT flag was moved from p->p_flag to td->td_flags, but p_flag 2001-09-21 22:06:22 +00:00
sys_pipe.c Use the passed in thread to selrecord() instead of curthread. 2001-09-21 22:46:54 +00:00
sys_process.c Set debug information on the process being traced, not the current (debugger) 2001-09-18 19:06:11 +00:00
sys_socket.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
syscalls.c o Part two of eaccess(2) commit, rebuilt system call code. 2001-09-21 21:34:06 +00:00
syscalls.master o Introduce eaccess(2), a version of access(2) that uses the effective 2001-09-21 21:33:22 +00:00
sysv_ipc.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
sysv_msg.c Make msgseg, msgssz (->msgmax) and msgmni TUNABLE. 2001-09-21 09:25:17 +00:00
sysv_sem.c PR: kern/29698 (part) 2001-09-13 21:06:41 +00:00
sysv_shm.c PR: kern/29698 (part) 2001-09-13 20:20:09 +00:00
tty_compat.c
tty_conf.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
tty_cons.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
tty_pty.c Use the passed in thread pointer instead of curthread in calls to 2001-09-21 22:22:25 +00:00
tty_subr.c
tty_tty.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
tty.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
uipc_accf.c
uipc_domain.c
uipc_mbuf2.c
uipc_mbuf.c
uipc_proto.c
uipc_sockbuf.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
uipc_socket2.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
uipc_socket.c Use the passed in thread to selrecord() instead of curthread. 2001-09-21 22:46:54 +00:00
uipc_syscalls.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
uipc_usrreq.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
vfs_acl.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
vfs_aio.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
vfs_bio.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
vfs_cache.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
vfs_cluster.c
vfs_conf.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
vfs_default.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
vfs_export.c Fix some signed/unsigned integer confusion, and add bounds checking of 2001-09-10 11:28:07 +00:00
vfs_extattr.c o vpaccess() -> vn_access() -- Peter reminds me that there is already 2001-09-22 03:07:41 +00:00
vfs_init.c
vfs_lookup.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
vfs_mount.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
vfs_subr.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
vfs_syscalls.c o vpaccess() -> vn_access() -- Peter reminds me that there is already 2001-09-22 03:07:41 +00:00
vfs_vnops.c Make uio_yield() a global. Call uio_yield() between chunks 2001-09-26 06:54:32 +00:00
vnode_if.pl KSE Milestone 2 2001-09-12 08:38:13 +00:00
vnode_if.src KSE Milestone 2 2001-09-12 08:38:13 +00:00