NetBSD/sys/kern
ad 58fb9db514 Apply pipe patch posted to tech-kern, slightly updated:
- Cache kva.
- Convert to use mutex_obj_alloc().
- Make better use of pool_cache.

Also:

Disable direct transfers for the moment. I believe there may be a bug that
can cause transfers to stall when switching between direct/buffered access.
I think this has most recently been run into on 'denver' but I have seen it
as far back as 3.1.

(As an aside, direct is a not a clear win on modern systems with large cache
and high TLB invalidation overhead. Particularly so on MP systems, although
micro benchmarks may report otherwise because they typically do not tax the
system. Anyone want to write a decent benchmark?)
2009-02-01 18:23:04 +00:00
..
bufq_disksort.c malloc -> kmem_alloc 2009-01-19 14:54:28 +00:00
bufq_fcfs.c malloc -> kmem_alloc 2009-01-19 14:54:28 +00:00
bufq_priocscan.c malloc -> kmem_alloc 2009-01-19 14:54:28 +00:00
bufq_readprio.c malloc -> kmem_alloc 2009-01-19 14:54:28 +00:00
cnmagic.c remove some __unused from function parameters. 2006-11-01 10:17:58 +00:00
core_elf32.c Make the emulations, exec formats, coredump, NFS, and the NFS server 2008-11-19 18:35:57 +00:00
core_elf64.c
core_netbsd.c Make the emulations, exec formats, coredump, NFS, and the NFS server 2008-11-19 18:35:57 +00:00
exec_aout.c Make the emulations, exec formats, coredump, NFS, and the NFS server 2008-11-19 18:35:57 +00:00
exec_ecoff.c make this compile 2008-11-19 21:29:32 +00:00
exec_elf32.c Make the emulations, exec formats, coredump, NFS, and the NFS server 2008-11-19 18:35:57 +00:00
exec_elf64.c Make the emulations, exec formats, coredump, NFS, and the NFS server 2008-11-19 18:35:57 +00:00
exec_elf.c kill MALLOC and FREE macros. 2008-12-17 20:51:31 +00:00
exec_macho.c Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
exec_script.c Make the emulations, exec formats, coredump, NFS, and the NFS server 2008-11-19 18:35:57 +00:00
exec_subr.c Don't needlessly acquire v_interlock. 2008-06-02 16:16:27 +00:00
genlintstub.awk
init_main.c merge christos-time_t 2009-01-11 02:45:45 +00:00
init_sysctl.c whitespace nit 2009-01-17 09:00:24 +00:00
init_sysent.c Regen to prove I didn't screw up the conversion: purely RCSID changes. 2009-01-13 22:33:11 +00:00
kern_acct.c Merge proc::p_mutex and proc::p_smutex into a single adaptive mutex, since 2008-04-24 18:39:20 +00:00
kern_auth.c Use __arraycount when appropriate 2008-08-15 01:31:02 +00:00
kern_cctr.c remove extra semicolons. 2009-01-03 03:31:23 +00:00
kern_clock.c hardclock() itself doesn't schedule callout softintrs any more, 2008-10-05 21:57:20 +00:00
kern_condvar.c Make condvars really opaque -- hide the wait message member from consumers 2008-12-19 07:57:28 +00:00
kern_core.c merge christos-time_t 2009-01-11 02:45:45 +00:00
kern_cpu.c Clear error value on exit for IOC_CPU_OGETSTATE ioctl command. 2009-01-19 23:04:26 +00:00
kern_descrip.c - Fix a bug where we trashed descriptor zero in the old open files array 2008-12-21 09:58:22 +00:00
kern_drvctl.c malloc -> kmem_alloc. 2009-01-17 07:02:35 +00:00
kern_event.c merge christos-time_t 2009-01-11 02:45:45 +00:00
kern_exec.c kill MALLOC and FREE macros. 2008-12-17 20:51:31 +00:00
kern_exit.c malloc -> kmem_alloc 2009-01-22 14:38:34 +00:00
kern_fileassoc.c - Convert hashinit() to use kmem_alloc(). The hash tables can be large 2008-05-05 17:11:16 +00:00
kern_fork.c malloc -> kmem_alloc. 2009-01-17 07:02:35 +00:00
kern_idle.c Don't call uvm_pageidlezero() if the CPU is marked offline. 2008-06-11 13:42:02 +00:00
kern_ksyms.c Initialize SYMTAB_SPACE ksyms during ksyms_init. Per PR port-evbarm/40311. 2009-01-23 09:22:25 +00:00
kern_kthread.c Fix a tyop in the previous commit 2009-01-30 04:09:35 +00:00
kern_ktrace.c merge christos-time_t 2009-01-11 02:45:45 +00:00
kern_lock.c Remove LKMs and switch to the module framework, pass 1. 2008-11-12 12:35:50 +00:00
kern_lwp.c Tweak change to move SA support from userret() to lwp_userret(). 2008-10-28 22:11:36 +00:00
kern_malloc_debug.c Pages mapped by debug_malloc are PMAP_KMPAGE so tell the pmap that. 2008-08-07 01:40:21 +00:00
kern_malloc_stdtype.c M_IOV is used all over the place, so stuff it in with malloc_stdtypes 2008-10-14 14:17:49 +00:00
kern_malloc.c Missed realloc in previous. Ride 5.99.6 bump. 2009-01-07 21:06:31 +00:00
kern_module.c Revert path of modules back to "/stand". 2009-01-24 22:14:44 +00:00
kern_mutex.c mutex_vector_enter: few predictions. 2009-01-25 04:45:14 +00:00
kern_ntptime.c remove !NTP stub. 2009-01-11 21:00:11 +00:00
kern_pax.c Fix broken enable test; fixes random coredumps. 2008-06-04 12:26:20 +00:00
kern_physio.c Assert that bp->b_error == 0 if all data have been transfered in 2008-11-09 12:18:07 +00:00
kern_pmf.c Include <sys/sched.h> before <sys/syscallargs.h> for cpuset_t. 2008-06-17 16:17:21 +00:00
kern_proc.c Set l_psid to PS_NONE for lwp0 (consistency change). 2009-01-24 22:42:32 +00:00
kern_prot.c Move uidinfo to its own module in kern_uidinfo.c and include in rump. 2008-10-11 13:40:57 +00:00
kern_ras.c Merge wrstuden-revivesa into HEAD. 2008-10-15 06:51:17 +00:00
kern_rate.c Split rate-checking routines into their own module for easier reuse. 2008-09-25 17:17:10 +00:00
kern_resource.c put back a range check in setrlimit() for now 2009-01-29 22:27:23 +00:00
kern_runq.c - Avoid calling sched_catchlwp() if CPUs have different processor-sets. 2009-01-18 05:07:51 +00:00
kern_rwlock.c rw_vector_exit(): When doing direct hand-off to a writer, only set 2008-07-29 16:13:39 +00:00
kern_sig.c malloc -> kmem_alloc 2009-01-22 14:38:34 +00:00
kern_sleepq.c Merge wrstuden-revivesa into HEAD. 2008-10-15 06:51:17 +00:00
kern_softint.c softint_disestablish: don't pass softint_lock to kpause, it's not held. 2009-01-01 12:26:46 +00:00
kern_stub.c fix lutimes. 2009-01-11 19:40:38 +00:00
kern_subr.c merge christos-time_t 2009-01-11 02:45:45 +00:00
kern_synch.c sched_pstats: add few checks to catch the problem. OK by <ad>. 2009-01-28 22:59:46 +00:00
kern_sysctl.c Librate sysctl_setup_func typedef from the clutches of _MODULE and 2008-12-29 15:35:02 +00:00
kern_tc.c merge christos-time_t 2009-01-11 02:45:45 +00:00
kern_time.c settime1: fix a bug i introduced when i made l_stime use monotonic time. 2009-01-31 15:53:36 +00:00
kern_timeout.c Update CALLOUT_INVOKING correctly, seems to have been lost. 2008-10-10 11:42:58 +00:00
kern_todr.c Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants, 2008-01-20 18:09:03 +00:00
kern_turnstile.c turnstile_block(): When an LWP puts its turnstile onto a sync object's 2008-08-12 14:13:34 +00:00
kern_uidinfo.c merge christos-time_t 2009-01-11 02:45:45 +00:00
kern_uuid.c Make uuidgen available for the kernel. 2008-11-18 14:01:03 +00:00
kern_verifiedexec.c PR/39559: Juan RP: veriexec(4): too easy to cause a NULL dereference 2008-12-14 23:20:23 +00:00
kern_xxx.c Remove unneeded playing about with kernel_lock. 2008-04-25 11:23:42 +00:00
kgdb_stub.c make kgdb_dev a dev_t 2009-01-11 10:20:53 +00:00
Make.tags.inc Don't run ctags on unichromreg.h, its #definitions cover important 2008-01-28 18:22:36 +00:00
Makefile Use ${TOOL_SED} instead of plain "sed" in "!=" assignments. 2008-10-25 22:35:36 +00:00
makesyscalls.sh Remove debug print -- this is what happens when there's several 2009-01-23 19:29:38 +00:00
sched_4bsd.c - Replace lwp_t::l_sched_info with union: pointer and timeslice. 2008-10-07 09:48:27 +00:00
sched_m2.c Make SCHED_M2 nice with nice(1). Closes PR/38048. 2008-10-18 03:44:04 +00:00
subr_autoconf.c Don't need to hold kernel_lock for most of this (and not into the swapper!). 2008-12-29 13:40:11 +00:00
subr_blist.c
subr_bufq.c malloc -> kmem_alloc 2009-01-19 14:54:28 +00:00
subr_callback.c Match the docs: MUTEX_DRIVER/SPIN are now only for porting code written 2007-12-05 07:06:50 +00:00
subr_debug.c Disable the freecheck stuff atomically so we only get one warning about 2008-04-30 20:20:53 +00:00
subr_devsw.c Change major()/minor() to return 32-bit types again, called 2009-01-20 18:20:47 +00:00
subr_disk_mbr.c Don't claim its an ISO partitioning scheme too early in the label. An MBR 2009-01-28 15:26:28 +00:00
subr_disk.c malloc -> kmem_alloc 2009-01-22 14:38:34 +00:00
subr_evcnt.c
subr_exec_fd.c Move fd_closeexec() and fd_checkstd() from kern_descrip to their 2008-11-18 13:01:41 +00:00
subr_extent.c Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
subr_hash.c - Convert hashinit() to use kmem_alloc(). The hash tables can be large 2008-05-05 17:11:16 +00:00
subr_iostat.c malloc -> kmem_alloc 2009-01-22 14:38:34 +00:00
subr_kmem.c Back VMEM_ADDR_NULL change. It's too invasive. 2008-12-15 11:42:34 +00:00
subr_kobj.c Sprinkle comments explaining purpose of kobj_machdep(), per email from ad. 2009-01-08 01:03:24 +00:00
subr_lockdebug.c buildfix: use PRIxPTR rather %lx. 2008-11-07 19:50:00 +00:00
subr_log.c Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
subr_once.c Atomic ops are unnecessary here. pointed out by ad 2008-10-09 12:14:06 +00:00
subr_optstr.c Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
subr_pcq.c - Optimise by avoiding few memory barriers, when atomic operations 2008-11-11 21:45:33 +00:00
subr_percpu.c Start percpu allocation at (ALIGNBYTES + 1) to avoid problem with importing 2008-12-15 11:59:22 +00:00
subr_pool.c Avoid recursive mutex_enter() when the system is low on KVA. 2008-11-11 16:13:03 +00:00
subr_prf.c Quote PR number in XXX comment. No functional change. 2009-01-30 21:16:51 +00:00
subr_prof.c Convert all the system call entry points from: 2007-12-20 23:02:38 +00:00
subr_specificdata.c Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
subr_syscall_stats.c Convert to new 2 clause license 2008-04-29 06:53:00 +00:00
subr_tftproot.c Merge the socket locking patch: 2008-04-24 11:38:36 +00:00
subr_time.c Use more timespecs internally. From Alexander Shishkin and me. 2008-07-15 16:18:08 +00:00
subr_userconf.c
subr_vmem.c bump VMEM_HASHSIZE_MAX from 8192 to 65536. 2009-01-25 13:08:56 +00:00
subr_workqueue.c Replace intptr_t in few places to uintptr_t. 2008-09-15 10:43:29 +00:00
subr_xcall.c Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
sys_aio.c merge christos-time_t 2009-01-11 02:45:45 +00:00
sys_descrip.c malloc -> kmem_alloc 2009-01-22 14:38:34 +00:00
sys_generic.c Change {ff,fd}_exclose and ff_allocated to bool. Change exclose arg to 2008-07-02 16:45:19 +00:00
sys_lwp.c merge christos-time_t 2009-01-11 02:45:45 +00:00
sys_module.c - Be clear about whether module load is explicit or system initiated (auto). 2008-10-22 11:16:29 +00:00
sys_mqueue.c merge christos-time_t 2009-01-11 02:45:45 +00:00
sys_pipe.c Apply pipe patch posted to tech-kern, slightly updated: 2009-02-01 18:23:04 +00:00
sys_pmc.c Make ntp, pmc, reboot, sysarch, time syscalls MPSAFE. 2008-04-21 12:56:30 +00:00
sys_process.c malloc -> kmem_alloc 2009-01-22 14:38:34 +00:00
sys_pset.c sys__pset_bind: obviously, sched_takecpu() should take "t" LWP, not "l". 2009-01-23 13:58:08 +00:00
sys_sched.c - Make thread-affinity and processor-set interfaces mutually exlusive. 2009-01-20 01:57:35 +00:00
sys_select.c merge christos-time_t 2009-01-11 02:45:45 +00:00
sys_sig.c merge christos-time_t 2009-01-11 02:45:45 +00:00
sys_socket.c kern/38502 ifconfig wi0 hangs 2008-04-29 18:35:14 +00:00
sys_syscall.c Convert to new 2 clause license 2008-04-29 06:53:00 +00:00
syscalls.c Regen to prove I didn't screw up the conversion: purely RCSID changes. 2009-01-13 22:33:11 +00:00
syscalls.conf Use rump/include/rump as the rump_syscalls.h directory. 2008-11-17 08:46:42 +00:00
syscalls.master Tag a few more socket syscalls with RUMP: 2009-01-26 12:20:05 +00:00
sysv_ipc.c Provide compatibility for pre-christos-time_t sysv sysctls. 2009-01-19 19:39:41 +00:00
sysv_msg.c Do not call put_type() but use copyout() when returning the message 2009-01-28 00:59:03 +00:00
sysv_sem.c merge christos-time_t 2009-01-11 02:45:45 +00:00
sysv_shm.c merge christos-time_t 2009-01-11 02:45:45 +00:00
tty_bsdpty.c malloc -> kmem_alloc 2009-01-22 14:38:34 +00:00
tty_conf.c Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
tty_ptm.c malloc -> kmem_alloc 2009-01-22 14:38:34 +00:00
tty_pty.c malloc -> kmem_alloc 2009-01-22 14:38:34 +00:00
tty_subr.c malloc -> kmem_alloc 2009-01-22 14:38:34 +00:00
tty_tty.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
tty.c Avoid deadlock in tty code if a terminal emulation responds to 2009-01-22 20:40:20 +00:00
uipc_accf.c Autoload accept filter modules. 2008-11-20 10:00:54 +00:00
uipc_domain.c Move some sysctl node creations away from linksets and into the 2008-12-07 20:58:46 +00:00
uipc_mbuf2.c Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
uipc_mbuf.c replace bitmask_snprintf(9) with snprintb(3) 2008-12-16 22:35:21 +00:00
uipc_proto.c Merge the socket locking patch: 2008-04-24 11:38:36 +00:00
uipc_sem.c Replace semid_t with intptr_t. No function change. This is a libc/kernel 2008-11-14 15:49:20 +00:00
uipc_socket2.c restore the pre socket locking patch signal behaviour. 2009-01-21 06:59:29 +00:00
uipc_socket.c solock() in compat code error branch to avoid panic 2009-01-23 15:40:19 +00:00
uipc_syscalls.c restore the pre socket locking patch signal behaviour. 2009-01-21 06:59:29 +00:00
uipc_usrreq.c Move uidinfo to its own module in kern_uidinfo.c and include in rump. 2008-10-11 13:40:57 +00:00
vfs_bio.c Move some sysctl node creations away from linksets and into the 2008-12-07 20:58:46 +00:00
vfs_cache.c malloc -> kmem_alloc. 2009-01-17 07:02:35 +00:00
vfs_cwd.c cwd is logically a vfs concept, so take it out from the bosom of 2008-11-18 11:36:58 +00:00
vfs_dirhash.c When reusing a directory free space slot and thus finding it on the free space 2008-12-28 17:11:26 +00:00
vfs_getcwd.c malloc -> kmem_alloc. 2009-01-17 07:02:35 +00:00
vfs_hooks.c Make the emulations, exec formats, coredump, NFS, and the NFS server 2008-11-19 18:35:57 +00:00
vfs_init.c malloc -> kmem_alloc. 2009-01-17 07:02:35 +00:00
vfs_lockf.c Move uidinfo to its own module in kern_uidinfo.c and include in rump. 2008-10-11 13:40:57 +00:00
vfs_lookup.c malloc -> kmem_alloc. 2009-01-17 07:02:35 +00:00
vfs_subr.c Fix a bug introduced by rev. 1.311. Make the kern.vnode sysctl to expose 2009-01-21 00:54:05 +00:00
vfs_syscalls.c malloc -> kmem_alloc. 2009-01-17 07:02:35 +00:00
vfs_trans.c more <sys/buf.h> police 2008-11-16 19:34:29 +00:00
vfs_vnops.c malloc -> kmem_alloc. 2009-01-17 07:02:35 +00:00
vfs_wapbl.c - malloc -> kmem_alloc 2009-01-31 09:33:36 +00:00
vfs_xattr.c getvnode -> fd_getvnode 2008-06-23 11:30:41 +00:00
vnode_if.c reregen to get those most important rcsids right 2008-11-17 08:59:33 +00:00
vnode_if.sh Split vfs out of rumpkern into rumpvfs. Non-fs rumps no longer 2008-11-19 14:10:48 +00:00
vnode_if.src vpp is not logically passed in IN with lookup, so INOUT -> OUT. 2008-11-15 19:08:12 +00:00