NetBSD/sys/kern
ad 6d70f903e6 Network protocol interrupts can now block on locks, so merge the globals
proclist_mutex and proclist_lock into a single adaptive mutex (proc_lock).
Implications:

- Inspecting process state requires thread context, so signals can no longer
  be sent from a hardware interrupt handler. Signal activity must be
  deferred to a soft interrupt or kthread.

- As the proc state locking is simplified, it's now safe to take exit()
  and wait() out from under kernel_lock.

- The system spends less time at IPL_SCHED, and there is less lock activity.
2008-04-24 15:35:27 +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
bufq_disksort.c
bufq_fcfs.c
bufq_priocscan.c
bufq_readprio.c
cnmagic.c
core_elf32.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
core_elf64.c
core_netbsd.c
exec_aout.c
exec_conf.c Remove COMPAT_HPUX. 2007-12-31 13:38:47 +00:00
exec_ecoff.c
exec_elf32.c malloc -> kmem_alloc 2008-01-03 14:29:31 +00:00
exec_elf64.c
exec_macho.c fix malloc type mismatches. 2008-01-03 14:25:49 +00:00
exec_script.c Catch up with descriptor handling changes. See kern_descrip.c revision 2008-03-21 21:54:58 +00:00
exec_subr.c Authorize using the LWP cached credentials, not process credentials. 2008-01-28 20:09:06 +00:00
genlintstub.awk
init_main.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
init_sysctl.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
init_sysent.c Regen. 2008-04-24 11:51:47 +00:00
kern_acct.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
kern_auth.c Replace use of CACHE_LINE_SIZE in some obvious places. 2008-03-27 18:30:15 +00:00
kern_cctr.c Allow MD cycle counter routines to pass their own optimized 2008-04-05 18:17:36 +00:00
kern_clock.c Implement MP callouts as discussed on tech-kern. The CPU binding code is 2008-04-22 11:45:28 +00:00
kern_condvar.c Add a boolean parameter to syncobj_t::sobj_unsleep. If true we want the 2008-03-17 16:54:51 +00:00
kern_core.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
kern_cpu.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
kern_descrip.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
kern_drvctl.c Use device_t and its accessors throughout. Use aprint_*_dev(). 2008-03-12 18:02:21 +00:00
kern_event.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
kern_exec.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
kern_exit.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
kern_fileassoc.c Merge vmlocking2 to head. 2008-01-02 11:48:20 +00:00
kern_fork.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
kern_idle.c xc_broadcast: don't try to run cross calls on CPUs that are not yet running. 2008-04-24 13:56:30 +00:00
kern_ksyms.c For each symtab, remember which symbols have the minimum and maximum value. 2008-02-20 02:30:51 +00:00
kern_kthread.c Move the LW_BOUND flag into the thread-private flag word. It can be tested 2008-04-12 17:16:09 +00:00
kern_ktrace.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
kern_lkm.c Convert all the system call entry points from: 2007-12-20 23:02:38 +00:00
kern_lock.c remove useless passing of the lwp from the KERNEL_LOCK() ABI 2008-04-01 19:49:31 +00:00
kern_lwp.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
kern_malloc.c Make them compile again. 2008-03-17 17:05:54 +00:00
kern_malloc_debug.c Add missing pmap_update(pmap_kernel()); calls after pmap_kenter_pa and 2008-02-23 16:05:17 +00:00
kern_module.c Add support for load-time parameters for modules, which are passed through 2008-03-02 11:18:43 +00:00
kern_mutex.c mutex_owned, rw_read_held, rw_write_held, rw_lock_held: check for a NULL 2008-04-22 14:46:35 +00:00
kern_ntptime.c Make ntp, pmc, reboot, sysarch, time syscalls MPSAFE. 2008-04-21 12:56:30 +00:00
kern_pax.c Provide 8 more bits of stack randomization, from the PaX author. 2007-12-28 17:14:50 +00:00
kern_physio.c Give bbusy() an interlock argument. If the we need to wait for the buffer, 2008-02-15 13:46:04 +00:00
kern_pmf.c Remove useless returns at the end of void functions. 2008-03-31 15:28:47 +00:00
kern_proc.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
kern_prot.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
kern_ras.c Actually copy the ras list onto the child process during fork() - hi ad. 2008-01-07 20:56:32 +00:00
kern_resource.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
kern_rwlock.c mutex_owned, rw_read_held, rw_write_held, rw_lock_held: check for a NULL 2008-04-22 14:46:35 +00:00
kern_sig.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
kern_sleepq.c Give callout_halt() an additional 'kmutex_t *interlock' argument. If there 2008-04-22 12:04:22 +00:00
kern_softint.c Merge the socket locking patch: 2008-04-24 11:38:36 +00:00
kern_stub.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
kern_subr.c use device_xname() where appropriate 2008-04-04 20:13:18 +00:00
kern_synch.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
kern_sysctl.c Add support for CTLTYPE_BOOL 2008-02-29 02:28:35 +00:00
kern_tc.c Make ntp, pmc, reboot, sysarch, time syscalls MPSAFE. 2008-04-21 12:56:30 +00:00
kern_time.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
kern_timeout.c kmutex_t * -> void *, to avoid MD header fallout. 2008-04-23 13:19:44 +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 When a timeshared LWP blocks on a turnstile, elevate its priority into the 2008-04-04 19:16:24 +00:00
kern_uuid.c correct cut and paste error in uuid_dec_be(); le16dec -> be16dec 2008-04-19 18:21:38 +00:00
kern_verifiedexec.c Add missing pmap_update(pmap_kernel()); calls after pmap_kenter_pa and 2008-02-23 16:05:17 +00:00
kern_xxx.c Make ntp, pmc, reboot, sysarch, time syscalls MPSAFE. 2008-04-21 12:56:30 +00:00
kgdb_stub.c
makesyscalls.sh - Retire SYCALL_MPSAFE. With the exceptions of darwin and irix emulations, 2008-04-24 11:51:18 +00:00
sched_4bsd.c sched_tick: don't expire timeslices for SCHED_FIFO lwps. 2008-04-17 14:03:42 +00:00
sched_m2.c Take the run queue management code from the M2 scheduler, and make it 2008-04-12 17:02:08 +00:00
subr_autoconf.c xc_broadcast: don't try to run cross calls on CPUs that are not yet running. 2008-04-24 13:56:30 +00:00
subr_blist.c
subr_bufq.c
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 add \n to printf messages. 2007-11-14 11:06:53 +00:00
subr_devsw.c When accessing a block/char device, cache the D_MPSAFE flag on initial 2008-04-06 17:27:39 +00:00
subr_disk.c constify dkdriver 2008-02-28 04:55:47 +00:00
subr_disk_mbr.c Merge vmlocking2 to head. 2008-01-02 11:48:20 +00:00
subr_evcnt.c
subr_extent.c Make them compile again. 2008-03-17 17:05:54 +00:00
subr_hash.c - Replace uihashtbl_lock and struct uidinfo::ui_lock with atomic operations. 2008-03-17 21:16:03 +00:00
subr_iostat.c
subr_kmem.c if DEBUG, over-allocate 1 byte to detect overrun. 2008-02-09 12:56:20 +00:00
subr_kobj.c Catch up with descriptor handling changes. See kern_descrip.c revision 2008-03-21 21:54:58 +00:00
subr_lockdebug.c Replace use of CACHE_LINE_SIZE in some obvious places. 2008-03-27 18:30:15 +00:00
subr_log.c Catch up with descriptor handling changes. See kern_descrip.c revision 2008-03-21 21:54:58 +00:00
subr_once.c
subr_optstr.c
subr_percpu.c Make the percpu API a little more friendly: 2008-04-09 05:11:20 +00:00
subr_pool.c Merge the socket locking patch: 2008-04-24 11:38:36 +00:00
subr_prf.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
subr_prf2.c tablefull: subr_prf -> subr_prf2 2007-12-30 22:55:21 +00:00
subr_prof.c Convert all the system call entry points from: 2007-12-20 23:02:38 +00:00
subr_specificdata.c - simplify ASSERT_SLEEPABLE. 2008-03-17 08:27:50 +00:00
subr_syscall_stats.c
subr_tftproot.c Merge the socket locking patch: 2008-04-24 11:38:36 +00:00
subr_time.c reduce #ifdef __HAVE_TIMECOUNTER. 2007-12-22 00:35:32 +00:00
subr_userconf.c
subr_vmem.c - simplify ASSERT_SLEEPABLE. 2008-03-17 08:27:50 +00:00
subr_workqueue.c Replace use of CACHE_LINE_SIZE in some obvious places. 2008-03-27 18:30:15 +00:00
subr_xcall.c xc_broadcast: don't try to run cross calls on CPUs that are not yet running. 2008-04-24 13:56:30 +00:00
sys_aio.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
sys_descrip.c File descriptor changes, discussed on tech-kern: 2008-03-21 21:53:35 +00:00
sys_generic.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
sys_lwp.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
sys_module.c Add support for load-time parameters for modules, which are passed through 2008-03-02 11:18:43 +00:00
sys_mqueue.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
sys_pipe.c Replace use of CACHE_LINE_SIZE in some obvious places. 2008-03-27 18:30:15 +00:00
sys_pmc.c Make ntp, pmc, reboot, sysarch, time syscalls MPSAFE. 2008-04-21 12:56:30 +00:00
sys_process.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
sys_pset.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
sys_sched.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
sys_select.c s/selwakeup/selnotify/ in a comment. 2008-04-17 14:02:24 +00:00
sys_sig.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
sys_socket.c Merge the socket locking patch: 2008-04-24 11:38:36 +00:00
sys_syscall.c Remove the 'args' parameter to 'trace_exit()' it is no longer used. 2008-02-06 22:12:39 +00:00
syscalls.c Regen. 2008-04-24 11:51:47 +00:00
syscalls.conf bring some stuff from time_t=64... 2008-03-22 15:11:01 +00:00
syscalls.master - Retire SYCALL_MPSAFE. With the exceptions of darwin and irix emulations, 2008-04-24 11:51:18 +00:00
sysv_ipc.c
sysv_msg.c Patch up sysctl locking: 2008-01-07 16:12:52 +00:00
sysv_sem.c Fix semaphore permissions returned by semctl+IPC_STAT, by masking 2008-04-22 12:14:12 +00:00
sysv_shm.c Fix shared memory code that it could handle > 4GB addresses correctly. 2008-04-12 20:49:22 +00:00
tty.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
tty_bsdpty.c Remove cn_lwp from struct componentname. curlwp should be used 2007-12-08 19:29:36 +00:00
tty_conf.c
tty_ptm.c Catch up with descriptor handling changes. See kern_descrip.c revision 2008-03-21 21:54:58 +00:00
tty_pty.c Improve ^T / SIGINFO handling: 2008-04-20 19:22:44 +00:00
tty_subr.c Restore seperate condvars for clist i/o and clist control activity. 2007-12-22 02:21:29 +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
uipc_domain.c Merge the socket locking patch: 2008-04-24 11:38:36 +00:00
uipc_mbuf.c Make the percpu API a little more friendly: 2008-04-09 05:11:20 +00:00
uipc_mbuf2.c
uipc_proto.c Merge the socket locking patch: 2008-04-24 11:38:36 +00:00
uipc_sem.c Start detangling lock.h from intr.h. This is likely to cause short term 2008-01-04 21:17:40 +00:00
uipc_socket.c Merge the socket locking patch: 2008-04-24 11:38:36 +00:00
uipc_socket2.c Merge the socket locking patch: 2008-04-24 11:38:36 +00:00
uipc_syscalls.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
uipc_usrreq.c Merge the socket locking patch: 2008-04-24 11:38:36 +00:00
vfs_bio.c When using nested buffers, allow one erroring-out nested buffer to 2008-04-22 11:05:06 +00:00
vfs_cache.c cache_enter: inline LIST_INSERT_HEAD so that the membar_producer() can be 2008-04-12 17:34:26 +00:00
vfs_getcwd.c Convert all the system call entry points from: 2007-12-20 23:02:38 +00:00
vfs_hooks.c
vfs_init.c Pull in my modules code for review/test/hacking. 2008-01-16 12:34:50 +00:00
vfs_lockf.c need <sys/atomic.h> now. 2008-03-18 02:49:15 +00:00
vfs_lookup.c PR kern/37706 (forced unmount of file systems is unsafe): 2008-01-30 11:46:59 +00:00
vfs_subr.c use device_xname() where appropriate 2008-04-04 20:13:18 +00:00
vfs_subr2.c Give bbusy() an interlock argument. If the we need to wait for the buffer, 2008-02-15 13:46:04 +00:00
vfs_syscalls.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
vfs_trans.c - simplify ASSERT_SLEEPABLE. 2008-03-17 08:27:50 +00:00
vfs_vnops.c Network protocol interrupts can now block on locks, so merge the globals 2008-04-24 15:35:27 +00:00
vfs_xattr.c Catch up with descriptor handling changes. See kern_descrip.c revision 2008-03-21 21:54:58 +00:00
vnode_if.c Regen. 2008-01-25 14:32:46 +00:00
vnode_if.sh Merge vmlocking2 to head. 2008-01-02 11:48:20 +00:00
vnode_if.src Remove VOP_LEASE. Discussed on tech-kern. 2008-01-25 14:32:11 +00:00