svn commit: r273984 - stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Xin LI delphij at FreeBSD.org
Sun Nov 2 19:16:42 UTC 2014


Author: delphij
Date: Sun Nov  2 19:16:41 2014
New Revision: 273984
URL: https://svnweb.freebsd.org/changeset/base/273984

Log:
  MFC r273026:
  
  Add a tunable for arc_shrink_shift (vfs.zfs.arc_shrink_shift) that
  controls how much fraction, 1/2^arc_shrink_shift, should be reclaimed
  when there is memory pressure.
  
  Submitted by:	Richard Kojedzinszky <krichy at tvnetwork.hu>

Modified:
  stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==============================================================================
--- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Sun Nov  2 19:09:34 2014	(r273983)
+++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Sun Nov  2 19:16:41 2014	(r273984)
@@ -220,6 +220,7 @@ TUNABLE_QUAD("vfs.zfs.arc_max", &zfs_arc
 TUNABLE_QUAD("vfs.zfs.arc_min", &zfs_arc_min);
 TUNABLE_QUAD("vfs.zfs.arc_meta_limit", &zfs_arc_meta_limit);
 TUNABLE_QUAD("vfs.zfs.arc_average_blocksize", &zfs_arc_average_blocksize);
+TUNABLE_INT("vfs.zfs.arc_shrink_shift", &zfs_arc_shrink_shift);
 SYSCTL_DECL(_vfs_zfs);
 SYSCTL_UQUAD(_vfs_zfs, OID_AUTO, arc_max, CTLFLAG_RDTUN, &zfs_arc_max, 0,
     "Maximum ARC size");
@@ -228,6 +229,10 @@ SYSCTL_UQUAD(_vfs_zfs, OID_AUTO, arc_min
 SYSCTL_UQUAD(_vfs_zfs, OID_AUTO, arc_average_blocksize, CTLFLAG_RDTUN,
     &zfs_arc_average_blocksize, 0,
     "ARC average blocksize");
+SYSCTL_INT(_vfs_zfs, OID_AUTO, arc_shrink_shift, CTLFLAG_RW,
+    &arc_shrink_shift, 0,
+    "log2(fraction of arc to reclaim)");
+
 /*
  * We don't have a tunable for arc_free_target due to the dependency on
  * pagedaemon initialisation.


More information about the svn-src-all mailing list