Date: Mon, 8 Jul 2024 18:17:58 GMT From: Mateusz Guzik <mjg@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 0a487207227b - main - vfs cache: add sysctl vfs.cache.param.hitpct Message-ID: <202407081817.468IHwKr092067@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=0a487207227badcbfbec029103ac7e2d5291bd30 commit 0a487207227badcbfbec029103ac7e2d5291bd30 Author: Mateusz Guzik <mjg@FreeBSD.org> AuthorDate: 2024-07-08 17:57:39 +0000 Commit: Mateusz Guzik <mjg@FreeBSD.org> CommitDate: 2024-07-08 18:17:54 +0000 vfs cache: add sysctl vfs.cache.param.hitpct Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/kern/vfs_cache.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 375b682e1f3a..fa6b23fe3d6f 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -1071,6 +1071,26 @@ SYSCTL_PROC(_vfs_cache, OID_AUTO, nchstats, CTLTYPE_OPAQUE | CTLFLAG_RD | CTLFLAG_MPSAFE, 0, 0, sysctl_nchstats, "LU", "VFS cache effectiveness statistics"); +static int +sysctl_hitpct(SYSCTL_HANDLER_ARGS) +{ + long poshits, neghits, miss, total; + long pct; + + poshits = counter_u64_fetch(numposhits); + neghits = counter_u64_fetch(numneghits); + miss = counter_u64_fetch(nummiss); + total = poshits + neghits + miss; + + pct = 0; + if (total != 0) + pct = ((poshits + neghits) * 100) / total; + return (sysctl_handle_int(oidp, 0, pct, req)); +} +SYSCTL_PROC(_vfs_cache_stats, OID_AUTO, hitpct, + CTLTYPE_INT | CTLFLAG_MPSAFE | CTLFLAG_RD, NULL, 0, sysctl_hitpct, + "I", "Percentage of hits"); + static void cache_recalc_neg_min(void) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202407081817.468IHwKr092067>