Module Name:    src
Committed By:   ad
Date:           Sat Sep  9 18:28:48 UTC 2023

Modified Files:
        src/sys/rump/include/rump: rump_namei.h
        src/sys/sys: namei.h

Log Message:
Regen.


To generate a diff of this commit:
cvs rdiff -u -r1.48 -r1.49 src/sys/rump/include/rump/rump_namei.h
cvs rdiff -u -r1.115 -r1.116 src/sys/sys/namei.h

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

Modified files:

Index: src/sys/rump/include/rump/rump_namei.h
diff -u src/sys/rump/include/rump/rump_namei.h:1.48 src/sys/rump/include/rump/rump_namei.h:1.49
--- src/sys/rump/include/rump/rump_namei.h:1.48	Tue Jun 29 22:40:06 2021
+++ src/sys/rump/include/rump/rump_namei.h	Sat Sep  9 18:28:48 2023
@@ -1,11 +1,11 @@
-/*	$NetBSD: rump_namei.h,v 1.48 2021/06/29 22:40:06 dholland Exp $	*/
+/*	$NetBSD: rump_namei.h,v 1.49 2023/09/09 18:28:48 ad Exp $	*/
 
 
 /*
  * WARNING: GENERATED FILE.  DO NOT EDIT
  * (edit namei.src and run make namei in src/sys/sys)
  *   by:   NetBSD: gennameih.awk,v 1.5 2009/12/23 14:17:19 pooka Exp 
- *   from: NetBSD: namei.src,v 1.60 2021/06/29 22:39:21 dholland Exp 
+ *   from: NetBSD: namei.src,v 1.61 2023/09/09 18:27:59 ad Exp 
  */
 
 #ifndef _RUMP_RUMP_NAMEI_H_

Index: src/sys/sys/namei.h
diff -u src/sys/sys/namei.h:1.115 src/sys/sys/namei.h:1.116
--- src/sys/sys/namei.h:1.115	Tue Jun 29 22:40:06 2021
+++ src/sys/sys/namei.h	Sat Sep  9 18:28:48 2023
@@ -1,11 +1,11 @@
-/*	$NetBSD: namei.h,v 1.115 2021/06/29 22:40:06 dholland Exp $	*/
+/*	$NetBSD: namei.h,v 1.116 2023/09/09 18:28:48 ad Exp $	*/
 
 
 /*
  * WARNING: GENERATED FILE.  DO NOT EDIT
  * (edit namei.src and run make namei in src/sys/sys)
  *   by:   NetBSD: gennameih.awk,v 1.5 2009/12/23 14:17:19 pooka Exp 
- *   from: NetBSD: namei.src,v 1.60 2021/06/29 22:39:21 dholland Exp 
+ *   from: NetBSD: namei.src,v 1.61 2023/09/09 18:27:59 ad Exp 
  */
 
 /*
@@ -208,12 +208,24 @@ struct nameidata {
 #define	NCHNAMLEN	sizeof(((struct namecache *)NULL)->nc_name)
 
 /*
+ * The uintptr_t-sized key value computed for each name consists of name
+ * length and a hash value.  On 32-bit platforms the top NC_NLEN_BITS of
+ * the 32-bit hash value is lobbed off.
+ */
+
+#define	NC_NLEN_BITS	11
+#define	NC_NLEN_MASK	((1 << NC_NLEN_BITS) - 1)
+#define	NC_NLEN(ncp)	((ncp)->nc_key & NC_NLEN_MASK)
+
+/*
  * Namecache entry.
  *
  * This structure describes the elements in the cache of recent names looked
- * up by namei.  It's carefully sized to take up 128 bytes on _LP64, to make
- * good use of space and the CPU caches.  Items used during RB tree lookup
- * (nc_tree, nc_key) are clustered at the start of the structure.
+ * up by namei.  It's carefully sized to take up 128 bytes on _LP64 and 64
+ * bytes on 32-bit machines, to make good use of space and the CPU caches.
+ *
+ * Items used during RB tree lookup (nc_tree, nc_key) are clustered at the
+ * start of the structure to minimise cache misses during lookup.
  *
  * Field markings and their corresponding locks:
  *
@@ -224,17 +236,20 @@ struct nameidata {
  */
 struct namecache {
 	struct	rb_node nc_tree;	/* d  red-black tree, must be first */
-	uint64_t nc_key;		/* -  hashed key value */
+	uintptr_t nc_key;		/* -  hashed key value */
 	TAILQ_ENTRY(namecache) nc_list;	/* v  nc_vp's list of cache entries */
 	TAILQ_ENTRY(namecache) nc_lru;	/* l  pseudo-lru chain */
 	struct	vnode *nc_dvp;		/* -  vnode of parent of name */
 	struct	vnode *nc_vp;		/* -  vnode the name refers to */
-	int	nc_lrulist;		/* l  which LRU list it's on */
-	u_short	nc_nlen;		/* -  length of the name */
-	char	nc_whiteout;		/* -  true if a whiteout */
-	char	nc_name[41];		/* -  segment name */
-};
+	u_char	nc_lrulist;		/* l  LRU list entry is on */
+	u_char	nc_whiteout;		/* -  whiteout indicator */
+#ifdef _LP64
+	char	nc_name[46];		/* -  segment name */
+#else
+	char	nc_name[22];		/* -  segment name */
 #endif
+};
+#endif /* __NAMECACHE_PRIVATE */
 
 #ifdef _KERNEL
 #include <sys/pool.h>

Reply via email to