Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Jul 2001 14:21:30 -0700 (PDT)
From:      Ian Dowse <iedowse@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/i386/conf NOTES src/sys/conf files options src/sys/ufs/ufs dirhash.h ufs_dirhash.c inode.h ufs_inode.c ufs_lookup.c
Message-ID:  <200107102121.f6ALLUw38626@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
iedowse     2001/07/10 14:21:30 PDT

  Modified files:
    sys/i386/conf        NOTES 
    sys/conf             files options 
    sys/ufs/ufs          inode.h ufs_inode.c ufs_lookup.c 
  Added files:
    sys/ufs/ufs          dirhash.h ufs_dirhash.c 
  Log:
  Bring in dirhash, a simple hash-based lookup optimisation for large
  directories. When enabled via "options UFS_DIRHASH", in-core hash
  arrays are maintained for large directories. These allow all
  directory operations to take place quickly instead of requiring
  long linear searches. For now anyway, dirhash is not enabled by
  default.
  
  The in-core hash arrays have a memory requirement that is approximately
  half the size of the size of the on-disk directory file. A number
  of new sysctl variables allow control over which directories get
  hashed and over the maximum amount of memory that dirhash will use:
  
    vfs.ufs.dirhash_minsize
      The minimum on-disk directory size for which hashing should be
      used. The default is 2560 (2.5k).
  
    vfs.ufs.dirhash_maxmem
      The system-wide maximum total memory to be used by dirhash data
      structures. The default is 2097152 (2MB).
  
  The current amount of memory being used by dirhash is visible
  through the read-only sysctl variable vfs.ufs.dirhash_maxmem.
  Finally, some extra sanity checks that are enabled by default, but
  which may have an impact on performance, can be disabled by setting
  vfs.ufs.dirhash_docheck to 0.
  
  Discussed on: -fs, -hackers
  
  Revision  Changes    Path
  1.933     +5 -1      src/sys/i386/conf/NOTES
  1.549     +2 -1      src/sys/conf/files
  1.284     +4 -1      src/sys/conf/options
  1.35      +3 -1      src/sys/ufs/ufs/inode.h
  1.37      +9 -1      src/sys/ufs/ufs/ufs_inode.c
  1.50      +94 -3     src/sys/ufs/ufs/ufs_lookup.c


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200107102121.f6ALLUw38626>