diff options
author | pjd <pjd@FreeBSD.org> | 2007-04-13 08:38:48 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2007-04-13 08:38:48 +0000 |
commit | e140c1e4f16396661dc38b9dbc4ac9e2400b757d (patch) | |
tree | dfa200c8c6792d85e0c46b6ca073d34fe5323b38 /sys/kern | |
parent | 5125a57954821a1587bec98032ed4a3adf86406c (diff) | |
download | FreeBSD-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.c | 1 |
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) |