Author: kib
Date: Thu Jul 31 19:24:44 2014
New Revision: 269347
URL: http://svnweb.freebsd.org/changeset/base/269347

Log:
  Do not generate 1000 unique lock names for nfsrc hash chain locks.
  It overflows witness.
  
  Shorten the names of some nfs mutexes.
  
  Reported and tested by:       pho
  No objections from:   rmacklem, mav
  Sponsored by: The FreeBSD Foundation
  MFC after:    1 week

Modified:
  head/sys/fs/nfs/nfsrvcache.h
  head/sys/fs/nfsserver/nfs_nfsdport.c

Modified: head/sys/fs/nfs/nfsrvcache.h
==============================================================================
--- head/sys/fs/nfs/nfsrvcache.h        Thu Jul 31 18:54:40 2014        
(r269346)
+++ head/sys/fs/nfs/nfsrvcache.h        Thu Jul 31 19:24:44 2014        
(r269347)
@@ -116,7 +116,6 @@ LIST_HEAD(nfsrvhashhead, nfsrvcache);
 /* The fine-grained locked cache hash table for TCP. */
 struct nfsrchash_bucket {
        struct mtx              mtx;
-       char                    lock_name[16];
        struct nfsrvhashhead    tbl;
 };
 

Modified: head/sys/fs/nfsserver/nfs_nfsdport.c
==============================================================================
--- head/sys/fs/nfsserver/nfs_nfsdport.c        Thu Jul 31 18:54:40 2014        
(r269346)
+++ head/sys/fs/nfsserver/nfs_nfsdport.c        Thu Jul 31 19:24:44 2014        
(r269347)
@@ -3321,23 +3321,16 @@ nfsd_modevent(module_t mod, int type, vo
                        goto out;
                newnfs_portinit();
                for (i = 0; i < NFSRVCACHE_HASHSIZE; i++) {
-                       snprintf(nfsrchash_table[i].lock_name,
-                           sizeof(nfsrchash_table[i].lock_name), "nfsrc_tcp%d",
-                           i);
-                       mtx_init(&nfsrchash_table[i].mtx,
-                           nfsrchash_table[i].lock_name, NULL, MTX_DEF);
-                       snprintf(nfsrcahash_table[i].lock_name,
-                           sizeof(nfsrcahash_table[i].lock_name), 
"nfsrc_tcpa%d",
-                           i);
-                       mtx_init(&nfsrcahash_table[i].mtx,
-                           nfsrcahash_table[i].lock_name, NULL, MTX_DEF);
+                       mtx_init(&nfsrchash_table[i].mtx, "nfsrtc", NULL,
+                           MTX_DEF);
+                       mtx_init(&nfsrcahash_table[i].mtx, "nfsrtca", NULL,
+                           MTX_DEF);
                }
-               mtx_init(&nfsrc_udpmtx, "nfs_udpcache_mutex", NULL, MTX_DEF);
-               mtx_init(&nfs_v4root_mutex, "nfs_v4root_mutex", NULL, MTX_DEF);
-               mtx_init(&nfsv4root_mnt.mnt_mtx, "struct mount mtx", NULL,
-                   MTX_DEF);
+               mtx_init(&nfsrc_udpmtx, "nfsuc", NULL, MTX_DEF);
+               mtx_init(&nfs_v4root_mutex, "nfs4rt", NULL, MTX_DEF);
+               mtx_init(&nfsv4root_mnt.mnt_mtx, "nfs4mnt", NULL, MTX_DEF);
                for (i = 0; i < NFSSESSIONHASHSIZE; i++)
-                       mtx_init(&nfssessionhash[i].mtx, "nfs_session_mutex",
+                       mtx_init(&nfssessionhash[i].mtx, "nfssm",
                            NULL, MTX_DEF);
                lockinit(&nfsv4root_mnt.mnt_explock, PVFS, "explock", 0, 0);
                nfsrvd_initcache();
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to