summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2007-04-13 08:38:48 +0000
committerpjd <pjd@FreeBSD.org>2007-04-13 08:38:48 +0000
commite140c1e4f16396661dc38b9dbc4ac9e2400b757d (patch)
treedfa200c8c6792d85e0c46b6ca073d34fe5323b38 /sys/kern
parent5125a57954821a1587bec98032ed4a3adf86406c (diff)
downloadFreeBSD-src-e140c1e4f16396661dc38b9dbc4ac9e2400b757d.zip
FreeBSD-src-e140c1e4f16396661dc38b9dbc4ac9e2400b757d.tar.gz
When we are running low on vnodes, there is currently no way to ask other
subsystems to release some vnodes. Implement backpressure based on vfs_lowvnodes event (similar to vm_lowmem for memory).
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/vfs_subr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 7529b29..32f34e6 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -736,6 +736,7 @@ vnlru_proc(void)
}
mtx_unlock(&mountlist_mtx);
if (done == 0) {
+ EVENTHANDLER_INVOKE(vfs_lowvnodes, desiredvnodes / 10);
#if 0
/* These messages are temporary debugging aids */
if (vnlru_nowhere < 5)
OpenPOWER on IntegriCloud