Author: delphij Date: Tue Jul 29 07:13:03 2014 New Revision: 269224 URL: http://svnweb.freebsd.org/changeset/base/269224
Log: 5034 ARC's buf_hash_table is too small Reviewed by: Christopher Siden <christopher.si...@delphix.com> Reviewed by: George Wilson <george.wil...@delphix.com> Reviewed by: Saso Kiselkov <skiselkov...@gmail.com> Reviewed by: Richard Elling <richard.ell...@gmail.com> Approved by: Gordon Ross <g...@nexenta.com> illumos/illumos-gate@63e911b6fce0acc8e2a1d31ebdaf0c4c12580a14 Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c ============================================================================== --- vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c Tue Jul 29 07:08:32 2014 (r269223) +++ vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c Tue Jul 29 07:13:03 2014 (r269224) @@ -200,6 +200,7 @@ int zfs_arc_grow_retry = 0; int zfs_arc_shrink_shift = 0; int zfs_arc_p_min_shift = 0; int zfs_disable_dup_eviction = 0; +int zfs_arc_average_blocksize = 8 * 1024; /* 8KB */ /* * Note that buffers can be in one of 6 states: @@ -938,10 +939,11 @@ buf_init(void) /* * The hash table is big enough to fill all of physical memory - * with an average 64K block size. The table will take up - * totalmem*sizeof(void*)/64K (eg. 128KB/GB with 8-byte pointers). + * with an average block size of zfs_arc_average_blocksize (default 8K). + * By default, the table will take up + * totalmem * sizeof(void*) / 8K (1MB per GB with 8-byte pointers). */ - while (hsize * 65536 < physmem * PAGESIZE) + while (hsize * zfs_arc_average_blocksize < physmem * PAGESIZE) hsize <<= 1; retry: buf_hash_table.ht_mask = hsize - 1; _______________________________________________ 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"