svn commit: r269347 - in head/sys/fs: nfs nfsserver
Konstantin Belousov
kib at FreeBSD.org
Thu Jul 31 19:24:45 UTC 2014
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();
More information about the svn-src-head
mailing list