Go to file
chrisrd e71cade67d Scale the dbuf cache with arc_c
Commit d3c2ae1 introduced a dbuf cache with a default size of the
minimum of 100M or 1/32 maximum ARC size. (These figures may be adjusted
using dbuf_cache_max_bytes and dbuf_cache_max_shift.) The dbuf cache
is counted as metadata for the purposes of ARC size calculations.

On a 1GB box the ARC maximum size defaults to c_max 493M which gives a
dbuf cache default minimum size of 15.4M, and the ARC metadata defaults
to minimum 16M. I.e. the dbuf cache is an significant proportion of the
minimum metadata size. With other overheads involved this actually means
the ARC metadata doesn't get down to the minimum.

This patch dynamically scales the dbuf cache to the target ARC size
instead of statically scaling it to the maximum ARC size. (The scale is
still set by dbuf_cache_max_shift and the maximum size is still fixed by
dbuf_cache_max_bytes.) Using the target ARC size rather than the current
ARC size is done to help the ARC reach the target rather than simply
focusing on the current size.

Reviewed-by: Chunwei Chen <tuxoko@gmail.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Chris Dunlop <chris@onthe.net.au>
Issue #6506 
Closes #6561
2017-09-29 15:49:19 -07:00
.github Update codecov.yml 2017-09-22 18:54:34 -07:00
cmd vdev_id: extension for new scsi topology 2017-09-27 10:39:47 -07:00
config Fix "--enable-code-coverage" debug build 2017-09-22 22:16:18 -07:00
contrib dracut: make module-setup.sh shebang explicit 2017-08-14 10:56:04 -07:00
etc vdev_id: extension for new scsi topology 2017-09-27 10:39:47 -07:00
include Scale the dbuf cache with arc_c 2017-09-29 15:49:19 -07:00
lib Fix some ZFS Test Suite issues 2017-09-25 10:32:34 -07:00
man Add mdoc style checker 2017-09-16 10:51:24 -07:00
module Scale the dbuf cache with arc_c 2017-09-29 15:49:19 -07:00
rpm Retire legacy test infrastructure 2017-08-15 17:26:38 -07:00
scripts Fix some ZFS Test Suite issues 2017-09-25 10:32:34 -07:00
tests Add 'zfs diff' coverage to the ZFS Test Suite 2017-09-28 13:04:14 -07:00
udev Fix spelling 2017-01-03 11:31:18 -06:00
.gitignore Add configure option to enable gcov analysis 2017-09-15 10:24:13 -07:00
.gitmodules Add zimport.sh compatibility test script 2014-02-21 12:10:31 -08:00
AUTHORS Add a missing > to AUTHORS 2014-09-02 14:18:53 -07:00
autogen.sh build: do not call boilerplate ourself 2013-04-02 10:55:20 -07:00
configure.ac Add 'zfs diff' coverage to the ZFS Test Suite 2017-09-28 13:04:14 -07:00
copy-builtin Allow c99 when building ZFS in the kernel tree 2017-03-27 12:31:15 -07:00
COPYRIGHT Retire legacy test infrastructure 2017-08-15 17:26:38 -07:00
DISCLAIMER Fix minor typos and update marketing copy. 2013-03-21 12:51:06 -07:00
Makefile.am Add support for "--enable-code-coverage" option 2017-09-22 18:49:57 -07:00
META Tag zfs-0.7.0 2017-07-26 10:13:25 -07:00
OPENSOLARIS.LICENSE Add CDDL license file 2008-12-01 14:49:34 -08:00
README.markdown Update codecov.yml 2017-09-22 18:54:34 -07:00
TEST Run ztest for longer on "Coverage" builders 2017-09-26 12:29:32 -07:00
zfs.release.in Move zfs.release generation to configure step 2012-07-12 12:22:51 -07:00

img

ZFS on Linux is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the OpenZFS community.

codecov

Official Resources

Installation

Full documentation for installing ZoL on your favorite Linux distribution can be found at our site.

Contribute & Develop

We have a separate document with contribution guidelines.