freebsd-nq/sys/kern
Jeff Roberson 24deed1aaa - Hold the buf lock while manipulating and inspecting its fields.
- Use gbincore() and not incore() so that we can drop the vnode interlock
   as we acquire the buflock.
 - Use GB_LOCK_NOWAIT when getting bufs for read ahead clusters so that we
   don't block on locked bufs.
 - Convert a while loop to a howmany() that will most likely be faster on
   modern processors.  There is another while loop divide that was left
   near by because it is operating on a 64bit int and is most likely faster.
 - Cleanup the cluster_read() code a little to get rid of a goto and make
   the logic clearer.

Tested on:	x86, alpha
Tested by:	Steve Kargl <sgk@troutmask.apl.washington.edu>
Reviewd by:	arch
2003-03-04 21:35:28 +00:00
..
bus_if.m
clock_if.m
device_if.m
genassym.sh
imgact_aout.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
imgact_elf32.c Improve the way that an elf image activator for an alternate word size is 2003-01-04 22:07:48 +00:00
imgact_elf64.c Improve the way that an elf image activator for an alternate word size is 2003-01-04 22:07:48 +00:00
imgact_elf.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
imgact_gzip.c Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
imgact_shell.c Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
inflate.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
init_main.c Use the proc lock to protect p_realtimer instead of Giant, and obtain 2003-02-17 10:03:02 +00:00
init_sysent.c Add a timeout parameter to kse_release. 2003-02-20 08:18:15 +00:00
kern_acct.c Remove the PL_SHAREMOD flag from struct plimit, which could have been 2003-02-20 04:18:42 +00:00
kern_acl.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
kern_alq.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
kern_clock.c Change the process flags P_KSES to be P_THREADED. 2003-02-27 02:05:19 +00:00
kern_condvar.c Replace calls to WITNESS_SLEEP() and witness_list() with equivalent calls 2003-03-04 21:03:05 +00:00
kern_conf.c Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
kern_context.c Add getcontext, setcontext, and swapcontext as system calls. 2002-11-16 06:35:53 +00:00
kern_descrip.c Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
kern_environment.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
kern_event.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
kern_exec.c Change the process flags P_KSES to be P_THREADED. 2003-02-27 02:05:19 +00:00
kern_exit.c Change the process flags P_KSES to be P_THREADED. 2003-02-27 02:05:19 +00:00
kern_fork.c Change the process flags P_KSES to be P_THREADED. 2003-02-27 02:05:19 +00:00
kern_idle.c
kern_intr.c Add a WITNESS_WARN() call to verify that we hold no locks after running 2003-03-04 21:01:42 +00:00
kern_jail.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
kern_kse.c Check kse group limit before linking new ksegrp. 2003-02-28 15:57:33 +00:00
kern_kthread.c
kern_ktr.c Add a /a modifier to the show ktr ddb command, which prints the whole trace 2003-02-22 23:30:37 +00:00
kern_ktrace.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
kern_linker.c FreeBSD 5.0 has stopped shipping /modules 2.5 years ago. Catch 2003-03-03 22:53:35 +00:00
kern_lock.c Replace calls to WITNESS_SLEEP() and witness_list() with equivalent calls 2003-03-04 21:03:05 +00:00
kern_lockf.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
kern_mac.c Replace calls to WITNESS_SLEEP() and witness_list() with equivalent calls 2003-03-04 21:03:05 +00:00
kern_malloc.c o Allow "buckets" in mb_alloc to be differently sized (according to 2003-02-20 04:26:58 +00:00
kern_mib.c - Provide backwards compatibility for kern.fallback_elf_brand. 2003-01-05 03:48:14 +00:00
kern_module.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
kern_mtxpool.c
kern_mutex.c Remove safety belt: it is now ok to do a mtx_trylock() on a mutex you 2003-03-04 21:32:25 +00:00
kern_ntptime.c Explicitly have the timecounter init happen after the cpu_initclocks is 2003-01-06 01:01:08 +00:00
kern_physio.c Close the remaining user address mapping races for physical 2003-01-20 17:46:48 +00:00
kern_poll.c
kern_proc.c Change the process flags P_KSES to be P_THREADED. 2003-02-27 02:05:19 +00:00
kern_prot.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
kern_resource.c Remove the PL_SHAREMOD flag from struct plimit, which could have been 2003-02-20 04:18:42 +00:00
kern_sema.c
kern_shutdown.c style. 2003-02-14 12:44:48 +00:00
kern_sig.c Replace calls to WITNESS_SLEEP() and witness_list() with equivalent calls 2003-03-04 21:03:05 +00:00
kern_subr.c Convert one of our main caddr_t consumers, uiomove(9), to void *. 2003-03-02 15:29:13 +00:00
kern_switch.c Change the process flags P_KSES to be P_THREADED. 2003-02-27 02:05:19 +00:00
kern_sx.c
kern_synch.c Replace calls to WITNESS_SLEEP() and witness_list() with equivalent calls 2003-03-04 21:03:05 +00:00
kern_syscalls.c
kern_sysctl.c Replace calls to WITNESS_SLEEP() and witness_list() with equivalent calls 2003-03-04 21:03:05 +00:00
kern_tc.c Move timecounters notion of frequency to 64 bits. 2003-01-29 11:29:22 +00:00
kern_thread.c Check kse group limit before linking new ksegrp. 2003-02-28 15:57:33 +00:00
kern_time.c o fix ppsratecheck to interpret a maxpps of zero as "ignore everything" 2003-02-26 17:16:38 +00:00
kern_timeout.c Under DIAGNOSTIC, only report expensive timeouts if they are more expensive 2003-02-01 10:06:40 +00:00
kern_uuid.c SMP locking for ifnet list. 2002-12-22 05:35:03 +00:00
kern_xxx.c
ksched.c Move a bunch of flags from the KSE to the thread. 2003-02-17 09:55:10 +00:00
link_elf_obj.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
link_elf.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
linker_if.m
Make.tags.inc
Makefile
makesyscalls.sh The syscall names are string constants, so make them consts. 2002-10-29 15:47:06 +00:00
md4c.c
md5c.c
p1003_1b.c Use copyout to access user memory. 2003-01-07 20:10:04 +00:00
posix4_mib.c Rework the sysconf(3) interaction with aio: 2002-11-17 04:15:34 +00:00
sched_4bsd.c Change the process flags P_KSES to be P_THREADED. 2003-02-27 02:05:19 +00:00
sched_ule.c - Create a function sched_interact_score() which decides on the 2003-03-04 02:45:59 +00:00
subr_acl_posix1e.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
subr_autoconf.c
subr_blist.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
subr_bus.c Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
subr_clist.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
subr_clock.c Split the global timezone structure into two integer fields to 2003-02-03 19:49:35 +00:00
subr_devstat.c
subr_disk.c Don't pick up a name from the dev_t if it is not there. 2003-03-03 11:14:36 +00:00
subr_eventhandler.c
subr_hints.c
subr_kobj.c
subr_log.c Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
subr_mbuf.c Replace calls to WITNESS_SLEEP() and witness_list() with equivalent calls 2003-03-04 21:03:05 +00:00
subr_mchain.c The "m = m->m_next" that was removed in the revision 1.12 was necessary 2003-02-19 10:12:42 +00:00
subr_module.c
subr_param.c
subr_pcpu.c
subr_power.c
subr_prf.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
subr_prof.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
subr_rman.c Implement rman_get_device 2003-02-12 07:00:59 +00:00
subr_rtc.c Split the global timezone structure into two integer fields to 2003-02-03 19:49:35 +00:00
subr_sbuf.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
subr_scanf.c
subr_smp.c Move a bunch of flags from the KSE to the thread. 2003-02-17 09:55:10 +00:00
subr_taskqueue.c Introduce a new taskqueue that runs completely free of Giant, and in 2003-02-26 03:15:42 +00:00
subr_trap.c Replace calls to WITNESS_SLEEP() and witness_list() with equivalent calls 2003-03-04 21:03:05 +00:00
subr_turnstile.c Remove safety belt: it is now ok to do a mtx_trylock() on a mutex you 2003-03-04 21:32:25 +00:00
subr_witness.c A small overhaul of witness: 2003-03-04 20:56:39 +00:00
subr_xxx.c Make nokqfilter() return the correct return value. 2003-03-03 16:24:47 +00:00
sys_generic.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
sys_pipe.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
sys_process.c
sys_socket.c Remove duplicate includes. 2003-02-20 03:26:11 +00:00
syscalls.c Add a timeout parameter to kse_release. 2003-02-20 08:18:15 +00:00
syscalls.master Add a timeout parameter to kse_release. 2003-02-20 08:18:15 +00:00
sysv_ipc.c It is possible for an active aio to prevent shared memory from being 2003-01-13 23:04:32 +00:00
sysv_msg.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
sysv_sem.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
sysv_shm.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
tty_compat.c
tty_conf.c
tty_cons.c Make nokqfilter() return the correct return value. 2003-03-03 16:24:47 +00:00
tty_pty.c Make nokqfilter() return the correct return value. 2003-03-03 16:24:47 +00:00
tty_subr.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
tty_tty.c Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
tty.c Change the process flags P_KSES to be P_THREADED. 2003-02-27 02:05:19 +00:00
uipc_accf.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
uipc_cow.c
uipc_domain.c
uipc_jumbo.c Remove duplicate includes. 2003-02-20 03:26:11 +00:00
uipc_mbuf2.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
uipc_mbuf.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
uipc_proto.c
uipc_sem.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
uipc_sockbuf.c Missing M_TRYWAIT from so_upcall third argument. 2003-02-21 22:23:40 +00:00
uipc_socket2.c Missing M_TRYWAIT from so_upcall third argument. 2003-02-21 22:23:40 +00:00
uipc_socket.c Clean up whitespace, s/register //, refrain from strong urge to ANSIfy. 2003-03-02 15:56:49 +00:00
uipc_syscalls.c Sync new socket nonblocking/async state with file flags in accept(). 2003-02-23 23:00:28 +00:00
uipc_usrreq.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
vfs_acl.c Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
vfs_aio.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
vfs_bio.c - Add a new 'flags' parameter to getblk(). 2003-03-04 00:04:44 +00:00
vfs_cache.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
vfs_cluster.c - Hold the buf lock while manipulating and inspecting its fields. 2003-03-04 21:35:28 +00:00
vfs_default.c - Correct the wchan in vop_stdfsync() 2003-03-03 23:37:50 +00:00
vfs_export.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
vfs_extattr.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
vfs_init.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
vfs_lookup.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
vfs_mount.c Export the name of the device used to mount the root file system as 2003-02-22 05:01:12 +00:00
vfs_subr.c Finish cleanup of vprint() which was begun with changing v_tag to a string. 2003-03-03 19:15:40 +00:00
vfs_syscalls.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
vfs_vnops.c Do not allow kqueues to be passed via unix domain sockets. 2003-02-15 06:04:55 +00:00
vnode_if.src Temporarily introduce a new VOP_SPECSTRATEGY operation while I try 2003-01-04 22:10:36 +00:00