Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Jan 2020 15:42:02 +0000 (UTC)
From:      Mateusz Guzik <mjg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r356439 - head/sys/kern
Message-ID:  <202001071542.007Fg24I043192@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mjg
Date: Tue Jan  7 15:42:01 2020
New Revision: 356439
URL: https://svnweb.freebsd.org/changeset/base/356439

Log:
  vfs: use a dedicated counter for free vnode recycling
  
  Otherwise vlrureclaim activitity is mixed in and it is hard to tell which
  vnodes got reclaimed.

Modified:
  head/sys/kern/vfs_subr.c

Modified: head/sys/kern/vfs_subr.c
==============================================================================
--- head/sys/kern/vfs_subr.c	Tue Jan  7 09:02:14 2020	(r356438)
+++ head/sys/kern/vfs_subr.c	Tue Jan  7 15:42:01 2020	(r356439)
@@ -204,6 +204,10 @@ static counter_u64_t recycles_count;
 SYSCTL_COUNTER_U64(_vfs, OID_AUTO, recycles, CTLFLAG_RD, &recycles_count,
     "Number of vnodes recycled to meet vnode cache targets");
 
+static counter_u64_t recycles_free_count;
+SYSCTL_COUNTER_U64(_vfs, OID_AUTO, recycles_free, CTLFLAG_RD, &recycles_free_count,
+    "Number of free vnodes recycled to meet vnode cache targets");
+
 /*
  * Various variables used for debugging the new implementation of
  * reassignbuf().
@@ -603,6 +607,7 @@ vntblinit(void *dummy __unused)
 
 	vnodes_created = counter_u64_alloc(M_WAITOK);
 	recycles_count = counter_u64_alloc(M_WAITOK);
+	recycles_free_count = counter_u64_alloc(M_WAITOK);
 	free_owe_inact = counter_u64_alloc(M_WAITOK);
 
 	/*
@@ -1466,7 +1471,7 @@ vtryrecycle(struct vnode *vp)
 		return (EBUSY);
 	}
 	if (!VN_IS_DOOMED(vp)) {
-		counter_u64_add(recycles_count, 1);
+		counter_u64_add(recycles_free_count, 1);
 		vgonel(vp);
 	}
 	VOP_UNLOCK(vp);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202001071542.007Fg24I043192>