freebsd-dev/sys/kern
Poul-Henning Kamp 851a87ea1a Vnodes pull in 800-900 bytes these days, all things counted, so we need
to treat desiredvnodes much more like a limit than as a vague concept.

On a 2GB RAM machine where desired vnodes is 130k, we run out of
kmem_map space when we hit about 190k vnodes.

If we wake up the vnode washer in getnewvnode(), sleep until it is done,
so that it has a chance to offer us a washed vnode.  If we don't sleep
here we'll just race ahead and allocate yet a vnode which will never
get freed.

In the vnodewasher, instead of doing 10 vnodes per mountpoint per
rotation, do 10% of the vnodes distributed evenly across the
mountpoints.
2002-12-29 10:39:05 +00:00
..
bus_if.m Add two interfaces to allow for busses to report the pnpinfo for 2002-10-07 05:06:38 +00:00
clock_if.m
device_if.m
genassym.sh
imgact_aout.c
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Fix multiple registration of the elf_legacy_coredump sysctl variable. 2002-12-21 01:15:39 +00:00
imgact_elfN.c
imgact_gzip.c
imgact_shell.c Remove reference to struct execve_args from struct imgact, which 2002-11-05 01:59:56 +00:00
inflate.c
init_main.c Add code to ddb to allow backtracing an arbitrary thread. 2002-12-28 01:23:07 +00:00
init_sysent.c Regenerate system calls (swapoff added) 2002-12-15 19:19:15 +00:00
kern_acct.c unwrap lines made short enough by SCARGS removal 2002-12-14 08:18:06 +00:00
kern_acl.c unwrap lines made short enough by SCARGS removal 2002-12-14 08:18:06 +00:00
kern_alq.c - Export the alq daemon thread pointer. 2002-09-26 07:38:56 +00:00
kern_clock.c 1. Support versioning and wall clock in kse mailbox, 2002-11-18 01:59:31 +00:00
kern_condvar.c Add code to ddb to allow backtracing an arbitrary thread. 2002-12-28 01:23:07 +00:00
kern_conf.c Remove unused cdevsw_ALLOCSTART macro. 2002-12-28 21:47:43 +00:00
kern_context.c Add getcontext, setcontext, and swapcontext as system calls. 2002-11-16 06:35:53 +00:00
kern_descrip.c Improve consistency between devfs and MAKEDEV: use UID_ROOT and 2002-12-27 16:54:44 +00:00
kern_environment.c remove syscallarg(). 2002-12-14 02:07:32 +00:00
kern_event.c White-space changes. 2002-12-24 09:44:51 +00:00
kern_exec.c Hold the page queues lock when performing vm_page_busy(). 2002-12-18 20:16:22 +00:00
kern_exit.c Fix a refcount race with the vmspace structure. In order to prevent 2002-12-15 18:50:04 +00:00
kern_fork.c Add code to ddb to allow backtracing an arbitrary thread. 2002-12-28 01:23:07 +00:00
kern_idle.c - Create a new scheduler api that is defined in sys/sched.h 2002-10-12 05:32:24 +00:00
kern_intr.c Don't put a newline in KTR traces. 2002-12-28 23:22:22 +00:00
kern_jail.c Don't forget to destroy the mutex if an error occurs 2002-12-20 14:32:20 +00:00
kern_kse.c Add code to ddb to allow backtracing an arbitrary thread. 2002-12-28 01:23:07 +00:00
kern_kthread.c Some kernel threads try to do significant work, and the default KSTACK_PAGES 2002-10-02 07:44:29 +00:00
kern_ktr.c - Export the alq daemon thread pointer. 2002-09-26 07:38:56 +00:00
kern_ktrace.c Some kernel threads try to do significant work, and the default KSTACK_PAGES 2002-10-02 07:44:29 +00:00
kern_linker.c unwrap lines made short enough by SCARGS removal 2002-12-14 08:18:06 +00:00
kern_lock.c Remove a race condition / deadlock from snapshots. When 2002-11-30 19:00:51 +00:00
kern_lockf.c - Fix a bunch of casts to long which were truncating off_t's. 2002-11-07 21:56:05 +00:00
kern_mac.c SCARGS removal take II. 2002-12-14 01:56:26 +00:00
kern_malloc.c Introduce malloc_last_fail() which returns the number of seconds since 2002-11-01 18:58:12 +00:00
kern_mib.c Move the definitions of the hw.physmem, hw.usermem and hw.availpages 2002-11-07 23:57:17 +00:00
kern_module.c SCARGS removal take II. 2002-12-14 01:56:26 +00:00
kern_mtxpool.c
kern_mutex.c Disable the kernacc() check in mtx_validate() until such time that kernacc 2002-10-25 08:40:20 +00:00
kern_ntptime.c Remove an unused variable. 2002-10-11 10:36:22 +00:00
kern_physio.c Change iov_base's type from char *' to the standard void *'. All 2002-10-11 14:58:34 +00:00
kern_poll.c
kern_proc.c - Add the new sched_pctcpu() function to the sched_* api. 2002-11-21 09:30:55 +00:00
kern_prot.c
kern_resource.c - Create a new scheduler api that is defined in sys/sched.h 2002-10-12 05:32:24 +00:00
kern_sema.c
kern_shutdown.c During shutdown explain what the numbers following the 'syncing 2002-11-18 02:41:03 +00:00
kern_sig.c Add code to ddb to allow backtracing an arbitrary thread. 2002-12-28 01:23:07 +00:00
kern_subr.c Reduce the number of times that we acquire and release the page queues 2002-12-29 07:17:06 +00:00
kern_switch.c Add code to ddb to allow backtracing an arbitrary thread. 2002-12-28 01:23:07 +00:00
kern_sx.c
kern_synch.c Add code to ddb to allow backtracing an arbitrary thread. 2002-12-28 01:23:07 +00:00
kern_syscalls.c
kern_sysctl.c Implement mac_check_system_sysctl(), a MAC Framework entry point to 2002-10-27 07:12:34 +00:00
kern_tc.c Introduce a "time_uptime" global variable which holds the time since boot 2002-11-01 18:52:20 +00:00
kern_thread.c Add code to ddb to allow backtracing an arbitrary thread. 2002-12-28 01:23:07 +00:00
kern_time.c add generic rate limiting support from netbsd; ratelimit is purely time based, 2002-12-20 23:54:47 +00:00
kern_timeout.c
kern_uuid.c SMP locking for ifnet list. 2002-12-22 05:35:03 +00:00
kern_xxx.c
ksched.c headers should not really include "opt_foo.h" (in this case opt_posix.h). 2002-11-15 22:55:06 +00:00
link_elf_obj.c Merge kld access control checks from the MAC tree: these access control 2002-11-19 22:12:42 +00:00
link_elf.c Merge kld access control checks from the MAC tree: these access control 2002-11-19 22:12:42 +00:00
linker_if.m
Make.tags.inc
Makefile
makesyscalls.sh The syscall names are string constants, so make them consts. 2002-10-29 15:47:06 +00:00
md4c.c
md5c.c We have memset() and memcpy() in the kernel now, so we don't need to 2002-10-20 22:33:42 +00:00
p1003_1b.c headers should not really include "opt_foo.h" (in this case opt_posix.h). 2002-11-15 22:55:06 +00:00
posix4_mib.c Rework the sysconf(3) interaction with aio: 2002-11-17 04:15:34 +00:00
sched_4bsd.c Add code to ddb to allow backtracing an arbitrary thread. 2002-12-28 01:23:07 +00:00
subr_acl_posix1e.c unwrap lines made short enough by SCARGS removal 2002-12-14 08:18:06 +00:00
subr_autoconf.c
subr_blist.c This is David Schultz's swapoff code which I am finally able to commit. 2002-12-15 19:17:57 +00:00
subr_bus.c devd kernel improvements: 2002-11-30 00:49:43 +00:00
subr_clist.c
subr_clock.c
subr_devstat.c Use strlcpy() instead of strncpy() to copy NUL terminated strings 2002-10-17 20:03:38 +00:00
subr_disk.c This checkin reimplements the io-request priority hack in a way 2002-10-22 00:59:49 +00:00
subr_disklabel.c
subr_diskmbr.c Split MBR and PC98 on-disk sliceformats out from disklabel.h, step 1: 2002-10-01 07:24:55 +00:00
subr_diskslice.c Indent properly. 2002-12-17 19:31:26 +00:00
subr_eventhandler.c
subr_hints.c
subr_kobj.c
subr_log.c Make the msg_size, msg_bufx and msg_bufr memebers of struct msgbuf 2002-11-14 16:11:12 +00:00
subr_mbuf.c o Initialise each mbuf's m_len to 0 in m_getm(); mb_put_mem() depends 2002-11-27 04:26:00 +00:00
subr_mchain.c Remove the hto(be|le)[slq] and (be|le)toh[slq] macros defined in 2002-12-16 16:20:06 +00:00
subr_module.c
subr_param.c
subr_pcpu.c
subr_power.c
subr_prf.c Make the msg_size, msg_bufx and msg_bufr memebers of struct msgbuf 2002-11-14 16:11:12 +00:00
subr_prof.c Don't #error if we are lint. 2002-10-01 13:15:11 +00:00
subr_rman.c Make the rman_{get,set}_* macros into real functions. The macros 2002-11-27 03:55:22 +00:00
subr_rtc.c
subr_sbuf.c Add the new function "sbuf_done()" which returns non-zero if the sbuf is 2002-10-04 09:58:17 +00:00
subr_scanf.c Fix mis-indentation. 2002-10-02 09:09:25 +00:00
subr_smp.c Add a tunable kern.smp.disabled for disabling explicitly smp on an smp 2002-12-28 23:21:13 +00:00
subr_taskqueue.c
subr_trap.c Add code to ddb to allow backtracing an arbitrary thread. 2002-12-28 01:23:07 +00:00
subr_turnstile.c Disable the kernacc() check in mtx_validate() until such time that kernacc 2002-10-25 08:40:20 +00:00
subr_witness.c - Add a spin lock to single thread cache invalidation and tlb flush ipis, 2002-12-22 20:50:23 +00:00
subr_xxx.c
sys_generic.c SCARGS removal take II. 2002-12-14 01:56:26 +00:00
sys_pipe.c White-space changes. 2002-12-24 09:44:51 +00:00
sys_process.c Add a missing PROC_UNLOCK in ptrace() for the PT_IO case. 2002-10-16 16:28:33 +00:00
sys_socket.c s/sokqfilter/soo_kqfilter/ for consistency with the naming of all 2002-12-23 21:37:28 +00:00
syscalls.c Regenerate system calls (swapoff added) 2002-12-15 19:19:15 +00:00
syscalls.master This is David Schultz's swapoff code which I am finally able to commit. 2002-12-15 19:17:57 +00:00
sysv_ipc.c
sysv_msg.c o Clear a high bit of ipc_perm.seq so msgget(3) never returns a 2002-12-15 09:41:46 +00:00
sysv_sem.c Don't leak memory in semop(2). (Fix a bug I introduced in rev 1.55.) 2002-10-19 02:07:35 +00:00
sysv_shm.c
tty_compat.c
tty_conf.c
tty_cons.c Remove unused variable cn_devfsdev. 2002-12-17 19:30:50 +00:00
tty_pty.c Remove cdevsw_add calls, they are deprecated. 2002-12-28 21:39:46 +00:00
tty_subr.c
tty_tty.c
tty.c In an SMP environment post-Giant it is no longer safe to blindly 2002-10-03 02:13:00 +00:00
uipc_accf.c
uipc_cow.c Change iov_base's type from char *' to the standard void *'. All 2002-10-11 14:58:34 +00:00
uipc_domain.c
uipc_jumbo.c
uipc_mbuf2.c correct function names in KASSERT's for 2 m_tag routines 2002-11-26 17:59:16 +00:00
uipc_mbuf.c Replace aux mbufs with packet tags: 2002-10-16 01:54:46 +00:00
uipc_proto.c
uipc_sem.c Be consistent about funtions being static. 2002-10-16 10:42:13 +00:00
uipc_sockbuf.c Spotted a couple of places where the socket buffer's counters were being 2002-11-05 18:52:25 +00:00
uipc_socket2.c Spotted a couple of places where the socket buffer's counters were being 2002-11-05 18:52:25 +00:00
uipc_socket.c s/sokqfilter/soo_kqfilter/ for consistency with the naming of all 2002-12-23 21:37:28 +00:00
uipc_syscalls.c Move the declaration of the socket fileops from socketvar.h to file.h. 2002-12-23 22:46:47 +00:00
uipc_usrreq.c Ensure that the made-up inode number for a Unix domain socket is persistent. 2002-12-25 07:59:39 +00:00
vfs_acl.c unwrap lines made short enough by SCARGS removal 2002-12-14 08:18:06 +00:00
vfs_aio.c Lock filedesc while performing a range check on the file descriptor. 2002-12-27 08:39:42 +00:00
vfs_bio.c Hold the page queues lock when calling vm_page_flag_clear(). 2002-12-27 06:52:32 +00:00
vfs_cache.c
vfs_cluster.c - Use %j to print intmax_t values. 2002-11-07 22:41:08 +00:00
vfs_default.c Don't try to be cute and save a call/return by implementing a degenerate 2002-10-24 17:55:49 +00:00
vfs_export.c SMP locking for radix nodes. 2002-12-24 03:03:39 +00:00
vfs_extattr.c unwrap lines made short enough by SCARGS removal 2002-12-14 08:18:06 +00:00
vfs_init.c
vfs_lookup.c Add a new 'NOMACCHECK' flag to namei() NDINIT flags, which permits the 2002-10-19 21:25:51 +00:00
vfs_mount.c unwrap lines made short enough by SCARGS removal 2002-12-14 08:18:06 +00:00
vfs_subr.c Vnodes pull in 800-900 bytes these days, all things counted, so we need 2002-12-29 10:39:05 +00:00
vfs_syscalls.c unwrap lines made short enough by SCARGS removal 2002-12-14 08:18:06 +00:00
vfs_vnops.c Abstract-out the constants for the sequential heuristic. 2002-12-28 20:28:10 +00:00
vnode_if.src Flush vop_refreshlabel() definition, since it is no longer used. 2002-12-24 19:47:13 +00:00