freebsd-dev/sys/kern
Alan Cox e3b19536fb Revise the direct or optimized case to use uiomove_fromphys() by the reader
instead of ephemeral mappings using pmap_qenter() by the writer.  The
writer is still, however, responsible for wiring the pages, just not
mapping them.  Consequently, the allocation of KVA for the direct case is
unnecessary.  Remove it and the sysctls limiting it, i.e.,
kern.ipc.maxpipekvawired and kern.ipc.amountpipekvawired.  The number
of temporarily wired pages is still, however, limited by
kern.ipc.maxpipekva.

Note: On platforms lacking a direct virtual-to-physical mapping,
uiomove_fromphys() uses sf_bufs to cache ephemeral mappings.  Thus,
the number of available sf_bufs can influence the performance of pipes
on platforms such i386.  Surprisingly, I saw the greatest gain from this
change on such a machine: lmbench's pipe bandwidth result increased from
~1050MB/s to ~1850MB/s on my 2.4GHz, 400MHz FSB P4 Xeon.
2004-03-27 19:50:23 +00:00
..
bus_if.m Introduce BUS_CONFIG_INTR(). The method allows devices to tell parents 2003-09-10 21:37:10 +00:00
clock_if.m
device_if.m
genassym.sh
imgact_aout.c Locking for the per-process resource limits structure. 2004-02-04 21:52:57 +00:00
imgact_elf32.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
imgact_elf64.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
imgact_elf.c Verify more bits of the ELF header: the program header table 2004-03-18 16:33:05 +00:00
imgact_gzip.c Locking for the per-process resource limits structure. 2004-02-04 21:52:57 +00:00
imgact_shell.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
inflate.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
init_main.c Loudly announce WITNESS and DIAGNOSTIC options and warn about reduced 2004-02-29 16:56:54 +00:00
init_sysent.c Regen for libthr thread synchronization syscalls. 2004-03-27 14:34:17 +00:00
kern_acct.c Fixed some style bugs (mainly misplaced comments, and totally disordered 2004-03-04 09:47:09 +00:00
kern_acl.c Update my personal copyrights and NETA copyrights in the kernel 2004-02-22 00:33:12 +00:00
kern_alq.c Allow MAC policies to block/revoke kern_alq write access to a file. 2003-10-25 16:10:41 +00:00
kern_clock.c Make sure to disable the watchdog if we cannot honour the timeout. 2004-02-28 22:01:19 +00:00
kern_condvar.c - Remove old sleep queues. 2004-03-12 19:06:18 +00:00
kern_conf.c Correctly account for extra bits in unit numbers when looking for 2004-03-11 14:11:02 +00:00
kern_context.c Change the clear_ret argument of get_mcontext() to be a flags argument. 2003-11-09 20:31:04 +00:00
kern_descrip.c Split the mlock() kernel code into two parts, mlock(), which unpacks 2004-02-26 00:27:04 +00:00
kern_environment.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_event.c Make sure to wake up any select waiters when closing a kqueue (also, not 2004-02-20 04:00:48 +00:00
kern_exec.c Make the process_exit eventhandler run without Giant. Add Giant hooks 2004-03-14 02:06:28 +00:00
kern_exit.c Add the missing Giant when doing anything with VFS -- in this case, 2004-03-18 18:15:58 +00:00
kern_fork.c Make the process_exit eventhandler run without Giant. Add Giant hooks 2004-03-14 02:06:28 +00:00
kern_idle.c Always set a process' state to normal when it is fully constructed in 2004-02-05 21:01:37 +00:00
kern_intr.c kthread_exit() no longer requires Giant, so don't force callers to acquire 2004-03-05 22:42:17 +00:00
kern_jail.c Remove sysctl security.jail.list_allowed. 2004-03-15 12:10:34 +00:00
kern_kse.c Massively up the (artificial) limit on system scope threads 2004-03-21 09:22:38 +00:00
kern_kthread.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_ktr.c Update the license on this file to be a bit more sane. 2003-09-10 01:09:32 +00:00
kern_ktrace.c Replace the ktrace queue's semaphore with a condition variable instead as 2004-02-26 19:30:22 +00:00
kern_linker.c Split the mlock() kernel code into two parts, mlock(), which unpacks 2004-02-26 00:27:04 +00:00
kern_lock.c Add pid to the info printed in lockmgr_printinfo. This makes VFS 2004-01-06 04:34:13 +00:00
kern_lockf.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_mac.c Update my personal copyrights and NETA copyrights in the kernel 2004-02-22 00:33:12 +00:00
kern_malloc.c Rename the kern.vm.kmem.size tunable to the more logical vm.kmem_size. To 2004-01-27 15:59:38 +00:00
kern_mib.c Change all SYSCTLS which are readonly and have a related TUNABLE 2003-10-21 18:28:36 +00:00
kern_module.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_mtxpool.c Rearrange the SYSINIT order to call lockmgr_init() earlier so that 2003-07-16 01:00:39 +00:00
kern_mutex.c Add a reset sysctl for mutex profiling: zeros all of the mutex 2004-01-28 22:11:53 +00:00
kern_ntptime.c Annual NTP kernel code spring-cleaning: 2004-03-14 15:23:05 +00:00
kern_physio.c Send B_PHYS out to pasture, it no longer serves any function. 2003-11-15 09:28:09 +00:00
kern_poll.c - Add a flags parameter to mi_switch. The value of flags may be SW_VOL or 2004-01-25 03:54:52 +00:00
kern_proc.c Fix information leakage. 2004-03-17 13:19:43 +00:00
kern_prot.c Don't grab Giant in crfree(), since prison_free() no longer requires it. 2004-01-23 21:07:52 +00:00
kern_resource.c Argh! Fix a bogon. lim_cur() was returning the hard (max) limit rather 2004-02-11 18:04:13 +00:00
kern_sema.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_shutdown.c - Add a flags parameter to mi_switch. The value of flags may be SW_VOL or 2004-01-25 03:54:52 +00:00
kern_sig.c - Push down Giant in exit() and wait(). 2004-03-05 22:39:53 +00:00
kern_subr.c Rename iov_to_uio to uiofromiov to be more consistent with other 2004-02-04 08:43:21 +00:00
kern_switch.c - style fixes to the critical_exit() KASSERT(). 2004-02-02 08:13:27 +00:00
kern_sx.c Fix _sx_assert() to panic() rather than printf() when an assertion fails 2004-02-27 16:13:44 +00:00
kern_synch.c - Remove old sleep queues. 2004-03-12 19:06:18 +00:00
kern_syscalls.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
kern_sysctl.c Rename the wiredlen member of struct sysctl_req to validlen and always 2004-03-16 06:53:03 +00:00
kern_tc.c Just because the timecounter reads the same value on two samples 2004-03-04 14:14:23 +00:00
kern_thr.c Separate thread synchronization from signals in libthr. Instead 2004-03-27 14:30:43 +00:00
kern_thread.c Massively up the (artificial) limit on system scope threads 2004-03-21 09:22:38 +00:00
kern_time.c constify the second args to timevaladd() and timevalsub(). 2003-10-26 02:19:00 +00:00
kern_timeout.c Make the DIAGNOSTIC code which complains about long {call|time}out(9) 2003-12-07 20:03:28 +00:00
kern_umtx.c Use the proc lock to sleep on a libthr umtx. 2004-03-27 14:32:03 +00:00
kern_uuid.c Fix generation of random multicast MAC address. 2004-01-22 13:34:11 +00:00
kern_xxx.c Correct mostly harmless off-by-one error in getdomainname(). 2003-09-13 17:12:22 +00:00
ksched.c sched_setscheduler: Return EINVAL when a invalid policy is specified, 2003-09-13 18:46:24 +00:00
link_elf_obj.c Add the mlockall() and munlockall() system calls. 2003-08-11 07:14:08 +00:00
link_elf.c Add the mlockall() and munlockall() system calls. 2003-08-11 07:14:08 +00:00
linker_if.m The method link_preload_finish is not static. 2003-09-20 17:39:32 +00:00
Make.tags.inc Finish driving a stake through the heart of netns and the associated 2003-03-05 19:24:24 +00:00
Makefile Finish driving a stake through the heart of netns and the associated 2003-03-05 19:24:24 +00:00
makesyscalls.sh Remove the namespace column from the syscalls tables. We don't actually 2003-12-23 03:50:43 +00:00
md4c.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
md5c.c Revert stuff which accidentally ended up in the previous commit. 2003-07-22 10:36:36 +00:00
p1003_1b.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
posix4_mib.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
sched_4bsd.c The roundrobin callout from sched_4bsd is MPSAFE, so set up the 2004-03-05 19:27:04 +00:00
sched_ule.c Change the type of the various CPU masks to cpumask_t. Note that as 2004-03-27 18:21:24 +00:00
subr_acl_posix1e.c Update my personal copyrights and NETA copyrights in the kernel 2004-02-22 00:33:12 +00:00
subr_autoconf.c Revert stuff which accidentally ended up in the previous commit. 2003-07-22 10:36:36 +00:00
subr_blist.c Expand inline the relevant parts of src/COPYRIGHT for Matt Dillon's 2003-08-12 23:24:05 +00:00
subr_bus.c Conform to local file sytle and prefer (a && (b & flag)). 2004-03-24 16:49:37 +00:00
subr_clist.c Revert stuff which accidentally ended up in the previous commit. 2003-07-22 10:36:36 +00:00
subr_clock.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_devstat.c Device megapatch 4/6: 2004-02-21 21:10:55 +00:00
subr_disk.c Report bio_pblkbo instead of bio_blkno. 2003-10-18 17:27:10 +00:00
subr_eventhandler.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_hints.c Add a resource_disabled() helper function that returns true (non-zero) if 2003-07-02 16:01:38 +00:00
subr_kobj.c * Add multiple inheritance to kobj. Each class can have zero or more base 2003-10-16 09:16:28 +00:00
subr_log.c Device megapatch 4/6: 2004-02-21 21:10:55 +00:00
subr_mbpool.c Pass MTX_DEF as the last argument to mtx_init() instead of 0. This 2003-12-07 21:53:41 +00:00
subr_mbuf.c Track current and peak sfbuf usage, export the values via sysctl. 2003-12-27 07:52:47 +00:00
subr_mchain.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_module.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_msgbuf.c Put the message about msgbuf cksum mismatch under bootverbose and tell 2003-09-05 11:12:00 +00:00
subr_param.c Revise the direct or optimized case to use uiomove_fromphys() by the reader 2004-03-27 19:50:23 +00:00
subr_pcpu.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_power.c Move the kernel power change printf under bootverbose since the 2004-01-02 18:24:13 +00:00
subr_prf.c Add support for 'h' and 'hh' modifiers for printf(9). 2004-02-19 05:29:39 +00:00
subr_prof.c These are changes to allow to use the Intel C/C++ compiler (lang/icc) 2004-03-12 21:45:33 +00:00
subr_rman.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_rtc.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_sbuf.c Mechanical whistespace cleanup. 2004-02-17 10:21:03 +00:00
subr_scanf.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
subr_sleepqueue.c Remove a bogus assertion and readd it in a more correct location. A thread 2004-03-16 18:56:22 +00:00
subr_smp.c Change the type of the various CPU masks to cpumask_t. Note that as 2004-03-27 18:21:24 +00:00
subr_taskqueue.c Tidy up the thread taskqueue implementation and close a lost wakeup race. 2004-02-19 22:03:52 +00:00
subr_trap.c Push Giant down a little further: 2004-03-13 22:31:39 +00:00
subr_turnstile.c Fixup a comment. 2004-03-12 19:05:46 +00:00
subr_witness.c Emit a traceback when witness_trace is set and witness_warn() is 2004-03-23 00:32:27 +00:00
sys_generic.c Add annotations to mtx_lock(&Giant) in kern_select() and poll() that 2004-03-13 05:58:57 +00:00
sys_pipe.c Revise the direct or optimized case to use uiomove_fromphys() by the reader 2004-03-27 19:50:23 +00:00
sys_process.c Use uiomove_fromphys() instead of pmap_qenter() and pmap_qremove() in 2004-03-24 23:35:04 +00:00
sys_socket.c Initialize struct fileops with C99 sparse initialization. 2003-06-18 18:16:40 +00:00
syscalls.c Regen for libthr thread synchronization syscalls. 2004-03-27 14:34:17 +00:00
syscalls.master Separate thread synchronization from signals in libthr. Instead 2004-03-27 14:30:43 +00:00
sysv_ipc.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
sysv_msg.c Slight whitespace consistency improvement: 2003-11-07 04:47:14 +00:00
sysv_sem.c Adjust the number of processes waiting on a semaphore properly if we're 2004-03-17 09:37:13 +00:00
sysv_shm.c Correct a reference counting bug in shmat(2). If vm_map_find(9) 2004-02-05 18:00:35 +00:00
tty_compat.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
tty_conf.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
tty_cons.c Device megapatch 4/6: 2004-02-21 21:10:55 +00:00
tty_pty.c Device megapatch 4/6: 2004-02-21 21:10:55 +00:00
tty_subr.c Revert stuff which accidentally ended up in the previous commit. 2003-07-22 10:36:36 +00:00
tty_tty.c Device megapatch 4/6: 2004-02-21 21:10:55 +00:00
tty.c Device megapatch 3/6: 2004-02-21 20:41:11 +00:00
uipc_accf.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
uipc_cow.c Revise socow_iodone() in light of recent sf_buf changes. Specifically, 2004-03-17 23:25:04 +00:00
uipc_domain.c move domain list mutex initialization to earlier in the boot sequence so 2003-09-02 20:59:23 +00:00
uipc_jumbo.c Lock the vm object when removing a page. 2003-06-11 21:23:04 +00:00
uipc_mbuf2.c m_tag fixups in preparation for heavier use: 2004-01-02 17:27:39 +00:00
uipc_mbuf.c Style fixes: don't indent variable names. 2004-02-05 08:29:27 +00:00
uipc_proto.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
uipc_sem.c Add ksem_timedwait() to complement ksem_wait(). 2004-02-03 05:08:32 +00:00
uipc_sockbuf.c Remove some netbsd debug code that crept into rev 1.116 2004-03-22 10:17:40 +00:00
uipc_socket2.c Remove some netbsd debug code that crept into rev 1.116 2004-03-22 10:17:40 +00:00
uipc_socket.c Rename dup_sockaddr() to sodupsockaddr() for consistency with other 2004-03-01 03:14:23 +00:00
uipc_syscalls.c Refactor the existing machine-dependent sf_buf_free() into a machine- 2004-03-16 19:04:28 +00:00
uipc_usrreq.c Rename dup_sockaddr() to sodupsockaddr() for consistency with other 2004-03-01 03:14:23 +00:00
vfs_acl.c Update my personal copyrights and NETA copyrights in the kernel 2004-02-22 00:33:12 +00:00
vfs_aio.c Make the process_exit eventhandler run without Giant. Add Giant hooks 2004-03-14 02:06:28 +00:00
vfs_bio.c Replace a manual check of a VMIO candidate with vn_canvmio(). This 2004-03-12 12:02:12 +00:00
vfs_cache.c - Apply a big giant lock around the namecache. This has been sitting in 2003-10-05 07:13:50 +00:00
vfs_cluster.c Update the statfs structure with 64-bit fields to allow 2003-11-12 08:01:40 +00:00
vfs_default.c Remove mntvnode_mtx and replace it with per-mountpoint mutex. 2003-11-05 04:30:08 +00:00
vfs_export.c Guard against MLEN growing larger than a uint8_t due to MSIZE grwoing to a 2003-07-26 07:23:24 +00:00
vfs_extattr.c Nudge Giant as far as I can into kern_open(). Mark open() as MPSAFE. 2004-03-16 10:46:42 +00:00
vfs_init.c Remove opv_desc_vector from vfs_add_vnodeops, since it is defined 2004-02-15 17:27:33 +00:00
vfs_lookup.c Use __FBSDID(). 2003-06-11 00:56:59 +00:00
vfs_mount.c - Add a description for vfs.usermount sysctl. 2004-03-27 08:39:28 +00:00
vfs_subr.c Properly vector all bwrite() and BUF_WRITE() calls through the same path 2004-03-11 18:02:36 +00:00
vfs_syscalls.c Nudge Giant as far as I can into kern_open(). Mark open() as MPSAFE. 2004-03-16 10:46:42 +00:00
vfs_vnops.c Align the offset in vn_rdwr_inchunks() so that at most the first and 2004-03-13 02:56:27 +00:00
vnode_if.src Rename VOP_RMEXTATTR() to VOP_DELETEEXTATTR() for consistency with the 2003-07-28 18:53:29 +00:00