diff options
author | Kirk McKusick <mckusick@FreeBSD.org> | 2013-08-05 22:02:45 +0000 |
---|---|---|
committer | Kirk McKusick <mckusick@FreeBSD.org> | 2013-08-05 22:02:45 +0000 |
commit | 8cf85cf292d0cff0c0065547123d8bc0c7fa01cf (patch) | |
tree | aaf06fbacc2a5cc482d9d1dbd9fd94101a8654cc /sys/ufs | |
parent | 57591d8e78cb784821502c861d1d83c9ddc31f34 (diff) | |
download | src-8cf85cf292d0cff0c0065547123d8bc0c7fa01cf.tar.gz src-8cf85cf292d0cff0c0065547123d8bc0c7fa01cf.zip |
With the addition of journalled soft updates, the "newblk" structures
persist much longer than previously. Historically we had at most 100
entries; now the count may reach a million. With the increased count
we spent far too much time looking them up in the grossly undersized
newblk hash table. Configure the newblk hash table to accurately reflect
the number of entries that it must index.
Reviewed by: kib
Tested by: Peter Holm
MFC after: 2 weeks
Notes
Notes:
svn path=/head/; revision=253974
Diffstat (limited to 'sys/ufs')
-rw-r--r-- | sys/ufs/ffs/ffs_softdep.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 640151bf7a58..9662ab30ac6a 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -2393,7 +2393,7 @@ softdep_initialize() max_softdeps = desiredvnodes * 4; pagedep_hashtbl = hashinit(desiredvnodes / 5, M_PAGEDEP, &pagedep_hash); inodedep_hashtbl = hashinit(desiredvnodes, M_INODEDEP, &inodedep_hash); - newblk_hashtbl = hashinit(desiredvnodes / 5, M_NEWBLK, &newblk_hash); + newblk_hashtbl = hashinit(max_softdeps / 2, M_NEWBLK, &newblk_hash); bmsafemap_hashtbl = hashinit(1024, M_BMSAFEMAP, &bmsafemap_hash); i = 1 << (ffs(desiredvnodes / 10) - 1); indir_hashtbl = malloc(i * sizeof(indir_hashtbl[0]), M_FREEWORK, |