Module Name:    src
Committed By:   ad
Date:           Sun Feb 16 22:00:53 UTC 2020

Modified Files:
        src/sys/kern [ad-namecache]: vfs_cache.c

Log Message:
Comments.


To generate a diff of this commit:
cvs rdiff -u -r1.126.2.11 -r1.126.2.12 src/sys/kern/vfs_cache.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/kern/vfs_cache.c
diff -u src/sys/kern/vfs_cache.c:1.126.2.11 src/sys/kern/vfs_cache.c:1.126.2.12
--- src/sys/kern/vfs_cache.c:1.126.2.11	Fri Jan 24 16:48:59 2020
+++ src/sys/kern/vfs_cache.c	Sun Feb 16 22:00:53 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: vfs_cache.c,v 1.126.2.11 2020/01/24 16:48:59 ad Exp $	*/
+/*	$NetBSD: vfs_cache.c,v 1.126.2.12 2020/02/16 22:00:53 ad Exp $	*/
 
 /*-
  * Copyright (c) 2008, 2019, 2020 The NetBSD Foundation, Inc.
@@ -67,8 +67,9 @@
  *	reference.  It is managed LRU, so frequently used names will hang
  *	around.  The cache is indexed by hash value obtained from the name.
  *
- *	The name cache (or directory name lookup cache) is the brainchild of
- *	Robert Elz and made its first appearance in 4.3BSD.
+ *	The name cache is the brainchild of Robert Elz and was introduced in
+ *	4.3BSD.  See "Using gprof to Tune the 4.2BSD Kernel", Marshall Kirk
+ *	McKusick, May 21 1984.
  *
  * Data structures:
  *
@@ -81,7 +82,7 @@
  *	The index is a red-black tree.  There are no special concurrency
  *	requirements placed on it, because it's per-directory and protected
  *	by the namecache's per-directory locks.  It should therefore not be
- *	difficult to experiment with other data structures.
+ *	difficult to experiment with other types of index.
  *
  *	Each cached name is stored in a struct namecache, along with a
  *	pointer to the associated vnode (nc_vp).  Names longer than a
@@ -170,7 +171,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_cache.c,v 1.126.2.11 2020/01/24 16:48:59 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_cache.c,v 1.126.2.12 2020/02/16 22:00:53 ad Exp $");
 
 #define __NAMECACHE_PRIVATE
 #ifdef _KERNEL_OPT
@@ -393,7 +394,7 @@ cache_remove(struct namecache *ncp, cons
 }
 
 /*
- * Find a single cache entry and return it.  The vnode lock must be held.
+ * Find a single cache entry and return it.  vi_nc_lock must be held.
  */
 static struct namecache * __noinline
 cache_lookup_entry(struct vnode *dvp, const char *name, size_t namelen,
@@ -1239,11 +1240,10 @@ cache_deactivate(void)
 	}
 
 	/*
-	 * Aim for a 1:1 ratio of active to inactive.  It's a bit wet finger
-	 * in the air here, but this is to allow each potential victim a
-	 * reasonable amount of time to cycle through the inactive list in
-	 * order to score a hit and be reactivated, while trying not to
-	 * cause reactivations too frequently.
+	 * Aim for a 1:1 ratio of active to inactive.  This is to allow each
+	 * potential victim a reasonable amount of time to cycle through the
+	 * inactive list in order to score a hit and be reactivated, while
+	 * trying not to cause reactivations too frequently.
 	 */
 	if (cache_lru.count[LRU_ACTIVE] < cache_lru.count[LRU_INACTIVE]) {
 		return;

Reply via email to