NetBSD/sys/kern
ad 430f67aa17 PR kern/39564 wapbl performance issues with disk cache flushing
PR kern/40361 WAPBL locking panic in -current
PR kern/40361 WAPBL locking panic in -current
PR kern/40470 WAPBL corrupts ext2fs
PR kern/40562 busy loop in ffs_sync when unmounting a file system
PR kern/40525 panic: ffs_valloc: dup alloc

- A fix for an issue that can lead to "ffs_valloc: dup" due to dirty cg
  buffers being invalidated. Problem discovered and patch by dholland@.

- If the syncer fails to lazily sync a vnode due to lock contention,
  retry 1 second later instead of 30 seconds later.

- Flush inode atime updates every ~10 seconds (this makes most sense with
  logging). Presently they didn't hit the disk for read-only files or
  devices until the file system was unmounted. It would be better to trickle
  the updates out but that would require more extensive changes.

- Fix issues with file system corruption, busy looping and other nasty
  problems when logging and non-logging file systems are intermixed,
  with one being the root file system.

- For logging, do not flush metadata on an inode-at-a-time basis if the sync
  has been requested by ioflush. Previously, we could try hundreds of log
  sync operations a second due to inode update activity, causing the syncer
  to fall behind and metadata updates to be serialized across the entire
  file system. Instead, burst out metadata and log flushes at a minimum
  interval of every 10 seconds on an active file system (happens more often
  if the log becomes full). Note this does not change the operation of
  fsync() etc.

- With the flush issue fixed, re-enable concurrent metadata updates in
  vfs_wapbl.c.
2009-02-22 20:10:25 +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
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 Use "defopt MODULAR" in sys/conf/files, and #include "opt_modular.h" 2009-02-13 22:41:00 +00:00
init_sysctl.c Use "defopt MODULAR" in sys/conf/files, and #include "opt_modular.h" 2009-02-13 22:41:00 +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 s/NOFOLLOW/FOLLOW/ in NDINIT so that it matches actual behavior 2009-02-11 00:32:45 +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 Use "defopt MODULAR" in sys/conf/files, and #include "opt_modular.h" 2009-02-13 22:41:00 +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 PR kern/36183 problem with ptrace and multithreaded processes 2009-02-04 21:17:39 +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 Use "defopt MODULAR" in sys/conf/files, and #include "opt_modular.h" 2009-02-13 22:41:00 +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 Extract a subroutine pmf_device_resume_descendants() from 2009-02-06 01:19:33 +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 dosetrlimit: remove the checks which are no longer needed since rlim_t 2009-02-09 11:13:20 +00:00
kern_runq.c Make sched_getrq() inline (gcc does not optimize it), avoids call. 2009-02-17 22:00:14 +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_ssp.c Unbreak ssp kernels. The issue here that when the ssp_init() call was deferred, 2009-02-12 18:24:18 +00:00
kern_stub.c Use "defopt MODULAR" in sys/conf/files, and #include "opt_modular.h" 2009-02-13 22:41:00 +00:00
kern_subr.c merge christos-time_t 2009-01-11 02:45:45 +00:00
kern_synch.c Warn once and no more about backwards monotonic clock. 2009-02-04 21:29:54 +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 remove 2038 comment 2009-02-14 20:45:29 +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 Instead of linking rump system call entry points directly to the 2009-02-20 17:56:36 +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 Unbreak ssp kernels. The issue here that when the ssp_init() call was deferred, 2009-02-12 18:24:18 +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 Add support for loading pseudo-device drivers. Try to autoload modules from 2009-02-02 14:00:27 +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 use %zu for size_t 2009-02-18 13:04:59 +00:00
subr_kobj.c Use "defopt MODULAR" in sys/conf/files, and #include "opt_modular.h" 2009-02-13 22:41:00 +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 vmem_rehash_all: remove a debug printf slipped in with the previous changes. 2009-02-18 13:33:46 +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 The knote objects attached by peer will still be linked in our list 2009-02-15 00:07:54 +00:00
sys_pmc.c Make ntp, pmc, reboot, sysarch, time syscalls MPSAFE. 2008-04-21 12:56:30 +00:00
sys_process.c PR kern/36183 problem with ptrace and multithreaded processes 2009-02-04 21:17:39 +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 Use "defopt MODULAR" in sys/conf/files, and #include "opt_modular.h" 2009-02-13 22:41:00 +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
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 Don't try to fd_putfile() descriptors we didn't manage to fd_getfile(). 2009-02-08 16:38:12 +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 cache_lookup_entry: add an assertion. 2009-02-18 13:36:11 +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 Previous code ususally works since compiler won't put gap between 2009-02-06 23:56: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 Make module (auto)loading under chroot envrionment actually work: 2009-02-11 00:19:11 +00:00
vfs_subr.c Make revoke(2) works as before: 2009-02-05 13:37:24 +00:00
vfs_syscalls.c Simplify the code; we already have a hint to decide which string to copy. 2009-02-15 03:52:49 +00:00
vfs_trans.c more <sys/buf.h> police 2008-11-16 19:34:29 +00:00
vfs_vnops.c Make module (auto)loading under chroot envrionment actually work: 2009-02-11 00:19:11 +00:00
vfs_wapbl.c PR kern/39564 wapbl performance issues with disk cache flushing 2009-02-22 20:10:25 +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