freebsd-dev/sys/kern
Matthew Dillon fdb33f08ef This is a forward port of Peter's vlrureclaim() fix, with some minor mods
by me to make it more efficient.  The original code had serious balancing
problems and could also deadlock easily.  This code relegates the vnode
reclamation to its own kproc and relaxes the vnode reclamation requirements
to better maintain kern.maxvnodes.  This code still doesn't balance as well
as it could, but it does a much better job then the original code.

Approved by:	re@freebsd.org
Obtained from:	ps, peter, dillon
MFS Assuming:	Assuming no problems crop up in Yahoo testing
MFC after:	7 days
2001-12-18 20:48:54 +00:00
..
bus_if.m Alter the return value and arguments of the GET_RESOURCE_LIST bus method. 2000-11-28 06:49:15 +00:00
device_if.m * Factor out the object system from new-bus so that it can be used by 2000-04-08 14:17:18 +00:00
genassym.sh Improve kernel bootstrapping: 2001-01-28 06:39:56 +00:00
imgact_aout.c Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loader 2001-10-10 23:06:54 +00:00
imgact_elf.c Remove whitespace at end of line. 2001-12-16 17:21:16 +00:00
imgact_gzip.c Make MAXTSIZ, DFLDSIZ, MAXDSIZ, DFLSSIZ, MAXSSIZ, SGROWSIZ loader 2001-10-10 23:06:54 +00:00
imgact_shell.c Return a more meaningful errno when the length of the interpreter 2001-11-28 03:26:58 +00:00
inflate.c
init_main.c Add/correct description for some sysctl variables where it was missing. 2001-12-16 16:07:20 +00:00
init_sysent.c Add nmount() stub function and regenerate the syscall-glue which should 2001-11-02 17:59:23 +00:00
kern_acct.c o Move suser() calls in kern/ to using suser_xxx() with an explicit 2001-11-01 20:56:57 +00:00
kern_acl.c o Since kern_acl.c uses #ifdef CAPABILITIES to control 2001-11-02 14:53:04 +00:00
kern_cap.c Update copyrights to include Thomas Moestl. 2001-11-05 15:36:24 +00:00
kern_clock.c Add/correct description for some sysctl variables where it was missing. 2001-12-16 16:07:20 +00:00
kern_condvar.c Update to C99, s/__FUNCTION__/__func__/. 2001-12-10 05:51:45 +00:00
kern_conf.c Back out the previous fix to the leading zero problem, I hadn't 2001-11-16 17:07:47 +00:00
kern_descrip.c When removing kqueue descriptors from the descriptor table during a fork, 2001-12-14 19:02:57 +00:00
kern_environment.c Fix an inverted test csae. Success of getenv() is determined by a return 2001-10-25 17:22:31 +00:00
kern_event.c remove holdfp() 2001-11-14 06:30:36 +00:00
kern_exec.c Repeat after me -- "Use of ANSI string concatenation can be bad." 2001-12-10 05:40:12 +00:00
kern_exit.c #ifdef KTRACE a variable to silence a warning. 2001-11-02 09:55:01 +00:00
kern_fork.c Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
kern_idle.c Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
kern_intr.c Device Polling code for -current. 2001-12-14 17:56:12 +00:00
kern_jail.c - Move _jail sysctl node underneath _kern_security in order to standardize 2001-12-12 05:23:20 +00:00
kern_kthread.c Commit the better version that I had a while ago. This has only one 2001-11-12 08:53:34 +00:00
kern_ktr.c Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
kern_ktrace.c Fix ktrace enablement/disablement races that can result in a vnode 2001-10-24 01:05:39 +00:00
kern_linker.c - Ensure that linker file id's are unique, rather than blindly 2001-11-18 18:19:35 +00:00
kern_lock.c Create a mutex pool API for short term leaf mutexes. 2001-11-13 21:55:13 +00:00
kern_lockf.c make LOCKF_DEBUG kernel option work (sorta) 2001-12-02 12:47:25 +00:00
kern_malloc.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_mib.c Add/correct description for some sysctl variables where it was missing. 2001-12-16 16:07:20 +00:00
kern_module.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_mtxpool.c cast hashing index to (int)(intptr_t) for calculation. 2001-11-19 00:20:36 +00:00
kern_mutex.c Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
kern_ntptime.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_physio.c Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
kern_poll.c Device Polling code for -current. 2001-12-14 17:56:12 +00:00
kern_proc.c As a followup to the previous fixes to inferior, revert some of the 2001-11-13 16:55:54 +00:00
kern_prot.c o A few more minor whitespace and other style fixes. 2001-12-06 21:58:47 +00:00
kern_random.c This patchset fixes a large number of file descriptor race conditions. 2000-11-18 21:01:04 +00:00
kern_resource.c *** empty log message *** 2001-11-04 18:22:48 +00:00
kern_sema.c Repeat after me -- "Use of ANSI string concatenation can be bad." 2001-12-10 05:40:12 +00:00
kern_shutdown.c Fix a signed bug in the crashdump code for systems with > 2GB of ram. 2001-11-13 01:08:54 +00:00
kern_sig.c o Wording fix in comment. 2001-12-14 00:38:01 +00:00
kern_subr.c Make uio_yield() a global. Call uio_yield() between chunks 2001-09-26 06:54:32 +00:00
kern_switch.c Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
kern_sx.c Update to C99, s/__FUNCTION__/__func__/. 2001-12-10 05:51:45 +00:00
kern_synch.c Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
kern_syscalls.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_sysctl.c Add code to export and print the description associated to sysctl 2001-12-16 02:55:41 +00:00
kern_tc.c Remove a bogus #ifdef KTR stanza. 2001-01-01 23:09:53 +00:00
kern_time.c o Modify static settime() to accept the proc * for the process requesting 2001-09-26 19:53:57 +00:00
kern_timeout.c Move most of the kernel submap initialization code, including the 2001-08-22 04:07:27 +00:00
kern_xxx.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
ksched.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
link_aout.c Since we used '#ifdef __i386__', don't close with '#endif /* !__alpha__ */' 2001-11-24 10:11:14 +00:00
link_elf_obj.c Fix a number of misspellings of "dependency" and "dependencies" in 2001-11-16 21:08:40 +00:00
link_elf.c Fix a number of misspellings of "dependency" and "dependencies" in 2001-11-16 21:08:40 +00:00
linker_if.m Add the sysctl "kern.function_list", which currently exports all 2001-10-30 15:21:45 +00:00
Make.tags.inc Update pathnames for creation of tags file. 2001-12-05 01:23:21 +00:00
Makefile Don't generate <sys/syscalls-hide.h> it has never had any users anywhere in 2001-10-13 09:17:49 +00:00
makeobjops.pl Switch warnings and strict back on again in a way that's compatible 2001-11-16 02:02:42 +00:00
makesyscalls.sh Don't generate <sys/syscalls-hide.h> it has never had any users anywhere in 2001-10-13 09:17:49 +00:00
md4c.c Import kernel part of SMB/CIFS requester. 2001-04-10 07:59:06 +00:00
md5c.c Add ia64 support. 2000-09-29 13:36:47 +00:00
p1003_1b.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
posix4_mib.c Add $FreeBSD$. 2000-04-22 15:13:06 +00:00
subr_acl_posix1e.c o Since kern_acl.c uses #ifdef CAPABILITIES to control 2001-11-02 14:53:04 +00:00
subr_autoconf.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
subr_blist.c With Alfred's permission, remove vm_mtx in favor of a fine-grained approach 2001-07-04 16:20:28 +00:00
subr_bus.c Update to C99, s/__FUNCTION__/__func__/. 2001-12-10 05:51:45 +00:00
subr_clist.c Make cblock_alloc_cblocks() spell its own name 2001-03-27 10:21:26 +00:00
subr_devstat.c Export the head structure for the device statistics STAILQ in 2001-08-04 18:02:47 +00:00
subr_disk.c Don't call cdevsw_add(). 2001-11-04 11:56:22 +00:00
subr_disklabel.c Add disk I/O scheduling for positively niced processes. 2001-12-14 05:50:44 +00:00
subr_diskmbr.c Wrap Dangerously Dedicated printf under if (bootverbose) 2001-12-11 05:35:43 +00:00
subr_diskslice.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_eventhandler.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_hints.c Fix a fatal type mismatch (char *static_env; vs char static_env[]). 2001-09-17 21:27:41 +00:00
subr_kobj.c Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
subr_log.c Use the passed in thread to selrecord() instead of curthread. 2001-09-21 22:46:54 +00:00
subr_mbuf.c vm/vm_kern.c: rate limit (to once per second) diagnostic printf when 2001-12-01 00:21:30 +00:00
subr_mchain.c Update to C99, s/__FUNCTION__/__func__/. 2001-12-10 05:51:45 +00:00
subr_module.c Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
subr_param.c Proper fix for old config setting maxusers to 8. 2001-12-14 09:39:29 +00:00
subr_pcpu.c Overhaul the per-CPU support a bit: 2001-12-11 23:33:44 +00:00
subr_power.c Some fix for the recent apm module changes. 2001-11-01 16:34:07 +00:00
subr_prf.c o Introduce kern.security.bsd.unprivileged_read_msgbuf, which allows 2001-11-30 21:40:52 +00:00
subr_prof.c - Change all callers of addupc_task() to check PS_PROFIL explicitly and 2001-12-18 09:06:10 +00:00
subr_rman.c - No need for resetting values to 0 when M_ZERO flag is used. 2001-11-10 21:36:56 +00:00
subr_sbuf.c Update to C99, s/__FUNCTION__/__func__/. 2001-12-10 05:51:45 +00:00
subr_scanf.c
subr_smp.c Overhaul the per-CPU support a bit: 2001-12-11 23:33:44 +00:00
subr_taskqueue.c - Change the taskqueue locking to protect the necessary parts of a task 2001-10-26 18:46:48 +00:00
subr_trap.c - Change all callers of addupc_task() to check PS_PROFIL explicitly and 2001-12-18 09:06:10 +00:00
subr_turnstile.c Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
subr_witness.c Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
subr_xxx.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
sys_generic.c remove holdfp() 2001-11-14 06:30:36 +00:00
sys_pipe.c Make kevents on pipes work as described in the manpage - when the last 2001-11-19 09:25:30 +00:00
sys_process.c Move procfs_* from procfs_machdep.c into sys_process.c, and rename them to 2001-10-21 23:57:24 +00:00
sys_socket.c Give struct socket structures a ref counting interface similar to 2001-11-17 03:07:11 +00:00
syscalls.c Add nmount() stub function and regenerate the syscall-glue which should 2001-11-02 17:59:23 +00:00
syscalls.master Reserve 378 for the new mount syscall Maxime Henrion <mux@qualys.com> 2001-11-02 17:58:26 +00:00
sysv_ipc.c o Remove (struct proc *p = td->td_proc) indirection in ipcperm(), 2001-11-02 21:20:05 +00:00
sysv_msg.c Make msgseg, msgssz (->msgmax) and msgmni TUNABLE. 2001-09-21 09:25:17 +00:00
sysv_sem.c Fix SysV Semaphore Handling. 2001-10-11 08:15:14 +00:00
sysv_shm.c Introduce [IPC|SHM]_[INFO|STAT] to shmctl to make 2001-10-28 09:29:10 +00:00
tty_compat.c
tty_conf.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
tty_cons.c Fix boot -p for DDBless kernels 2001-12-11 10:21:26 +00:00
tty_pty.c o Move suser() calls in kern/ to using suser_xxx() with an explicit 2001-11-01 20:56:57 +00:00
tty_subr.c Make cblock_alloc_cblocks() spell its own name 2001-03-27 10:21:26 +00:00
tty_tty.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
tty.c utime/stime.tv_sec are elapsed times, not relative to 1970. We can 2001-11-17 00:26:57 +00:00
uipc_accf.c Revert the last bits of my bogus move of NMBCLUSTERS 2001-06-01 21:47:34 +00:00
uipc_domain.c Update the comment about System initialization to reflect the use of 2001-12-08 04:20:54 +00:00
uipc_mbuf2.c Sync with recent KAME. 2001-06-11 12:39:29 +00:00
uipc_mbuf.c Update to C99, s/__FUNCTION__/__func__/. 2001-12-10 05:51:45 +00:00
uipc_proto.c Implement a LOCAL_PEERCRED socket option which returns a 2001-08-17 22:01:18 +00:00
uipc_sockbuf.c o Back out portions of 1.50 and 1.47, eliminating sonewconn3() and 2001-12-13 22:09:37 +00:00
uipc_socket2.c o Back out portions of 1.50 and 1.47, eliminating sonewconn3() and 2001-12-13 22:09:37 +00:00
uipc_socket.c Give struct socket structures a ref counting interface similar to 2001-11-17 03:07:11 +00:00
uipc_syscalls.c Give struct socket structures a ref counting interface similar to 2001-11-17 03:07:11 +00:00
uipc_usrreq.c o Back out portions of 1.50 and 1.47, eliminating sonewconn3() and 2001-12-13 22:09:37 +00:00
vfs_acl.c o Since kern_acl.c uses #ifdef CAPABILITIES to control 2001-11-02 14:53:04 +00:00
vfs_aio.c o Eliminate compilation warnings on 64-bit architectures. 2001-12-10 03:34:06 +00:00
vfs_bio.c This fixes a large number of bugs in our NFS client side code. A recent 2001-12-14 01:16:57 +00:00
vfs_cache.c Convert textvp_fullpath() into the more generic vn_fullpath() which takes a 2001-10-21 15:52:51 +00:00
vfs_cluster.c Implement IO_NOWDRAIN and B_NOWDRAIN - prevents the buffer cache from blocking 2001-11-05 18:48:54 +00:00
vfs_conf.c Remove the use of _PATH_DEV in the example. 2001-11-24 01:34:12 +00:00
vfs_default.c Fix incorrect double-termination of vm_object. When a vm_object is 2001-10-23 01:23:41 +00:00
vfs_export.c Fix some signed/unsigned integer confusion, and add bounds checking of 2001-09-10 11:28:07 +00:00
vfs_extattr.c Define a new mount flag "MNT_JAILDEVFS" 2001-11-05 10:33:45 +00:00
vfs_init.c Revert consequences of changes to mount.h, part 2. 2001-04-29 02:45:39 +00:00
vfs_lookup.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
vfs_mount.c Remove the use of _PATH_DEV in the example. 2001-11-24 01:34:12 +00:00
vfs_subr.c This is a forward port of Peter's vlrureclaim() fix, with some minor mods 2001-12-18 20:48:54 +00:00
vfs_syscalls.c Define a new mount flag "MNT_JAILDEVFS" 2001-11-05 10:33:45 +00:00
vfs_vnops.c This is a forward port of Peter's vlrureclaim() fix, with some minor mods 2001-12-18 20:48:54 +00:00
vnode_if.pl KSE Milestone 2 2001-09-12 08:38:13 +00:00
vnode_if.src KSE Milestone 2 2001-09-12 08:38:13 +00:00