kernel - Reduce excessive inode hash table allocations
* Reduce excessive inode hash table allocations in various filesystems
(primarily ufs). Introduce vfs_inodehashsize() to calculate a reasonable
hash table size instead of using 'maxvnodes'.
* The new formula is to generally use maxvnodes / 2 (2 x stacking for the
chained hash table). When maxvnodes is large we use maxvnodes / 4, and
if maxvnodes is very large (> 1M vnodes) we use maxvnodes / 8. This
significantly reduces the amount of kernel memory used when mounting
ufs, ext2fs, hpfs, isofs, msdosfs, nfs, ntfs, and smbfs filesystems.
14 files changed: