freebsd-dev/sys/kern
Jeff Roberson 71ddd673b1 - Add CTR calls to trace the lifecycle of a buffer.
- Remove some KASSERTs which are invalid if the appropriate lock is
   not held.
 - Slightly restructure bremfree() so that it is more sane.
 - Change the flush code in bdwrite() to avoid acquiring a mutex
   whenever possible.
 - Change the flush code in bdwrite() to avoid holding the bufobj mutex
   while calling buf_countdeps().  This introduces a lock-order
   relationship with the softdep lock that can not otherwise be resolved.
 - Don't set B_DONE until bufdone() is complete, otherwise another
   processor may believe the buf is done before it is.
 - Only acquire Giant if the caller has set b_iodone.  Don't grab giant
   around normal bufdone() calls.

Sponsored By:	Isilon Systems, Inc.
2005-01-24 10:47:04 +00:00
..
bus_if.m /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
clock_if.m /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
device_if.m /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
genassym.sh
imgact_aout.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
imgact_elf32.c
imgact_elf64.c
imgact_elf.c On arm, set the default elf brand to FreeBSD, until the binutils do it for us. 2004-09-23 23:29:24 +00:00
imgact_gzip.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
imgact_shell.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
inflate.c
init_main.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
init_sysent.c Regen. 2005-01-03 00:47:23 +00:00
kern_acct.c In acct_process(), do a lockless read of acctvp to see if it's NULL 2005-01-08 04:45:57 +00:00
kern_acl.c Rename suser_cred()'s PRISON_ROOT flag to SUSER_ALLOWJAIL. This is 2004-07-26 07:24:04 +00:00
kern_alq.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_clock.c - Define KTR points for KTR_SCHED. 2004-12-26 00:14:21 +00:00
kern_condvar.c Refine the turnstile and sleep queue interfaces just a bit: 2004-10-12 18:36:20 +00:00
kern_conf.c Get rid of the magic "stash" of cdev structures, we no longer call 2004-10-25 13:12:06 +00:00
kern_context.c
kern_descrip.c - Use VFS_LOCK_GIANT() in place of mtx_lock(&giant), etc. 2005-01-24 10:19:31 +00:00
kern_environment.c Retire TUNABLE_QUAD_*. 2004-11-08 18:22:22 +00:00
kern_event.c Move a FILEDESC_UNLOCK upwards to silence witness. 2004-11-16 14:41:31 +00:00
kern_exec.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_exit.c In kern_wait(), let the compiler copy the rusage structure rather than 2005-01-08 04:17:48 +00:00
kern_fork.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_idle.c Give the 4bsd scheduler the ability to wake up idle processors 2004-09-01 06:42:02 +00:00
kern_intr.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_jail.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_kse.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_kthread.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_ktr.c - Change the ddb paging "support" to use a variable (db_lines_per_page) to 2004-11-01 22:15:15 +00:00
kern_ktrace.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_linker.c When trying each linker class in turn with a preloaded module, exit 2004-08-27 01:20:26 +00:00
kern_lock.c - Do not use APAUSE if LK_INTERLOCK is set. We lose synchronization 2005-01-24 10:20:59 +00:00
kern_lockf.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_mac.c Bump MAC Framework version to 2 in preparation for the upcoming API/ABI 2004-11-09 11:28:40 +00:00
kern_malloc.c Bring in MemGuard, a very simple and small replacement allocator 2005-01-21 18:09:17 +00:00
kern_mbuf.c CTASSERT that MSZIE is a power of 2 (otherwise dtom() breaks) 2004-09-20 08:52:04 +00:00
kern_mib.c When retrieving the current per-jails securelevel for a sysctl read, 2005-01-23 20:59:19 +00:00
kern_module.c Add a 32bit syscall wrapper for modstat 2005-01-19 17:53:06 +00:00
kern_mtxpool.c Expand COPYRIGHT inline, per Matthew Dillon's earlier approval. 2005-01-06 23:34:38 +00:00
kern_mutex.c Rework the optimization for spinlocks on UP to be slightly less drastic and 2005-01-05 21:13:27 +00:00
kern_ntptime.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_physio.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_poll.c Add a NULL param to an mi_switch() that I missed. 2004-07-03 02:38:03 +00:00
kern_proc.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_prot.c Style cleanup: with removal of mutex operations, we can also remove 2005-01-23 21:11:39 +00:00
kern_resource.c Stop explicitly touching td_base_pri outside of the scheduler and simply 2004-12-30 20:29:58 +00:00
kern_sema.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_shutdown.c Replace a printf with a KASSERT that we are indeed running on the BSP. 2004-11-30 06:21:38 +00:00
kern_sig.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_subr.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_switch.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_sx.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_synch.c Stop explicitly touching td_base_pri outside of the scheduler and simply 2004-12-30 20:29:58 +00:00
kern_syscalls.c Do a pass over all modules in the kernel and make them return EOPNOTSUPP 2004-07-15 08:26:07 +00:00
kern_sysctl.c Be consistent and always use form 'return (value);' instead of 'return value;'. 2004-12-31 14:52:53 +00:00
kern_tc.c Put on my peril sensitive sunglasses and add a flags field to the internal 2004-10-11 22:04:16 +00:00
kern_thr.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_thread.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_time.c move kern_nanosleep to sys/syscallsubr.h 2005-01-19 18:09:50 +00:00
kern_timeout.c Make "c->c_func = NULL" conditional on CALLOUT_LOCAL_ALLOC in both 2005-01-19 21:15:58 +00:00
kern_umtx.c Revert my previous errno hack, that is certainly an issue, 2005-01-18 13:53:10 +00:00
kern_uuid.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
kern_xxx.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
ksched.c /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
link_elf_obj.c Add support for completing the installation of ELF relocatable 2004-08-29 01:21:51 +00:00
link_elf.c Normalize the VM wiring done with SPARSE_MAPPING: check for errors, and 2004-08-09 18:46:13 +00:00
linker_if.m /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
Make.tags.inc
Makefile
makesyscalls.sh
md4c.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
md5c.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
p1003_1b.c /* -> /*- for license, minor formatting changes 2005-01-07 02:29:27 +00:00
posix4_mib.c Back when VOP_* was introduced, we did not have new-style struct 2004-12-01 23:16:38 +00:00
sched_4bsd.c Rework the interface between priority propagation (lending) and the 2004-12-30 20:52:44 +00:00
sched_ule.c Fix a typo and two whitespace nits. 2004-12-30 22:17:00 +00:00
subr_acl_posix1e.c Rename suser_cred()'s PRISON_ROOT flag to SUSER_ALLOWJAIL. This is 2004-07-26 07:24:04 +00:00
subr_autoconf.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_blist.c Move the definitions of SWAPBLK_NONE and SWAPBLK_MASK from vm_page.h to 2004-06-04 04:03:26 +00:00
subr_bus.c Introduce bus_free_resource. It is a convenience function which wraps 2005-01-19 06:52:19 +00:00
subr_clist.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_clock.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_devstat.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_disk.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_eventhandler.c Use 'const char *' for a few prototypes. 2004-12-06 10:53:40 +00:00
subr_hints.c
subr_kdb.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_kobj.c
subr_log.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_mbpool.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_mchain.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_module.c
subr_msgbuf.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_param.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_pcpu.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_power.c
subr_prf.c Update for the KDB framework: 2004-07-10 21:43:23 +00:00
subr_prof.c - Move TDF_OWEPREEMPT, TDF_OWEUPC, and TDF_USTATCLOCK over to td_pflags 2004-07-16 21:04:55 +00:00
subr_rman.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_rtc.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_sbuf.c Cosmetic adjustment to previous commit: name the second argument to 2004-07-09 11:37:44 +00:00
subr_scanf.c
subr_sleepqueue.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_smp.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_taskqueue.c Add taskqueue_drain. This waits for the specified task to finish, if 2004-10-05 04:16:01 +00:00
subr_trap.c Whitespace fix. 2004-12-30 20:30:58 +00:00
subr_turnstile.c Rework the interface between priority propagation (lending) and the 2004-12-30 20:52:44 +00:00
subr_unit.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
subr_witness.c When DDB is not defined, don't implement witness_thread_has_locks() and 2005-01-22 21:14:21 +00:00
sys_generic.c Detect sign-extension bugs in the ioctl(2) command argument: Truncate 2005-01-18 07:37:05 +00:00
sys_pipe.c Rearrange the kninit calls for both directions of a pipe so that 2005-01-17 07:56:28 +00:00
sys_process.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
sys_socket.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
syscalls.c Regen. 2005-01-03 00:47:23 +00:00
syscalls.master uuidgen(2) is MP safe. 2005-01-03 00:45:57 +00:00
sysv_ipc.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
sysv_msg.c Invoke label initialization, creation, cleanup, and tear-down MAC 2005-01-22 18:51:43 +00:00
sysv_sem.c Invoke label initialization, creation, cleanup, and tear-down MAC 2005-01-22 19:04:17 +00:00
sysv_shm.c Invoke label initialization, creation, cleanup, and tear-down MAC 2005-01-22 19:10:25 +00:00
tty_compat.c Put the pre FreeBSD-2.x tty compat code under BURN_BRIDGES. 2004-06-21 22:57:16 +00:00
tty_conf.c Preparation commit for the tty cleanups that will follow in the near 2004-07-15 20:47:41 +00:00
tty_cons.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
tty_pty.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
tty_subr.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
tty_tty.c Second half of the dev_t cleanup. 2004-06-17 17:16:53 +00:00
tty.c Call tty_close() at the very end of ttyclose() since otherwise NULL 2004-12-30 19:24:49 +00:00
uipc_accf.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
uipc_cow.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
uipc_domain.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
uipc_mbuf2.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
uipc_mbuf.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
uipc_proto.c
uipc_sem.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
uipc_sockbuf.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
uipc_socket2.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
uipc_socket.c When re-connecting already connected datagram socket ensure to clean 2005-01-12 10:15:23 +00:00
uipc_syscalls.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
uipc_usrreq.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
vfs_acl.c Rename suser_cred()'s PRISON_ROOT flag to SUSER_ALLOWJAIL. This is 2004-07-26 07:24:04 +00:00
vfs_aio.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
vfs_bio.c - Add CTR calls to trace the lifecycle of a buffer. 2005-01-24 10:47:04 +00:00
vfs_cache.c - Simplify the cache locking. The lock order relationship with the 2005-01-24 10:24:12 +00:00
vfs_cluster.c - Remove GIANT_REQUIRED where giant is no longer required. 2005-01-24 10:33:46 +00:00
vfs_default.c - Remove GIANT_REQUIRED where it is no longer required. 2005-01-24 10:32:14 +00:00
vfs_export.c /* -> /*- for copyright notices, minor format tweaks as necessary 2005-01-06 23:35:40 +00:00
vfs_extattr.c - Change all vfs syscalls to use VFS_LOCK_GIANT(), and MPSAFE nds. 2005-01-24 10:25:44 +00:00
vfs_init.c Change the generated VOP_ macro implementations to improve type checking 2005-01-13 07:53:01 +00:00
vfs_lookup.c - Acquire and release Giant as we enter and leave filesystems which 2005-01-24 10:27:05 +00:00
vfs_mount.c - Protect mnt_kern_flag with the mountpoint's mutex. This is required 2005-01-24 10:28:41 +00:00
vfs_subr.c - Add the tunable and sysctl for the mpsafevfs. It currently defaults 2005-01-24 10:41:01 +00:00
vfs_syscalls.c - Change all vfs syscalls to use VFS_LOCK_GIANT(), and MPSAFE nds. 2005-01-24 10:25:44 +00:00
vfs_vnops.c - Remove GIANT_REQUIRED where giant is no longer required. 2005-01-24 10:31:42 +00:00
vnode_if.src Remove the unused credential argument from VOP_FSYNC() and VFS_SYNC(). 2005-01-11 07:36:22 +00:00