Date: Fri, 13 Oct 2023 23:43:13 GMT From: Mateusz Guzik <mjg@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: e3b2372a76c1 - stable/14 - vfs: don't recycle transiently excess vnodes Message-ID: <202310132343.39DNhDpj014877@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch stable/14 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=e3b2372a76c18551529e1aa43d185f602dccdbf1 commit e3b2372a76c18551529e1aa43d185f602dccdbf1 Author: Mateusz Guzik <mjg@FreeBSD.org> AuthorDate: 2023-10-11 06:39:48 +0000 Commit: Mateusz Guzik <mjg@FreeBSD.org> CommitDate: 2023-10-13 23:41:47 +0000 vfs: don't recycle transiently excess vnodes Sponsored by: Rubicon Communications, LLC ("Netgate") (cherry picked from commit a4f753e812d8913e9be481c6dfa1574c7f032a56) --- sys/kern/vfs_subr.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 5834feff080c..52c14b4a234a 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1656,8 +1656,12 @@ vnlru_proc_light_pick(void) /* * vnode limit might have changed and now we may be at a significant * excess. Bail if we can't sort it out with free vnodes. + * + * Due to atomic updates the count can legitimately go above + * the limit for a short period, don't bother doing anything in + * that case. */ - if (rnumvnodes > desiredvnodes) { + if (rnumvnodes > desiredvnodes + 10) { if (rnumvnodes - rfreevnodes >= desiredvnodes || rfreevnodes <= wantfreevnodes) { return (-1); @@ -1734,7 +1738,7 @@ vnlru_proc(void) * adjusted using its sysctl, or emergency growth), first * try to reduce it by discarding from the free list. */ - if (rnumvnodes > desiredvnodes) { + if (rnumvnodes > desiredvnodes + 10) { vnlru_free_locked(rnumvnodes - desiredvnodes); mtx_lock(&vnode_list_mtx); rnumvnodes = atomic_load_long(&numvnodes);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202310132343.39DNhDpj014877>