svn commit: r305560 - vendor-sys/illumos/dist/uts/common/fs/zfs

Alexander Motin mav at FreeBSD.org
Wed Sep 7 20:00:23 UTC 2016


Author: mav
Date: Wed Sep  7 20:00:22 2016
New Revision: 305560
URL: https://svnweb.freebsd.org/changeset/base/305560

Log:
  7278 tuning zfs_arc_max does not impact arc_c_min
  
  When changing zfs_arc_max (e.g. as zdb does), it may be set to less
  than the default arc_c_min. arc_c_min should decrease to not be more than
  arc_c_max, but it doesn't; therefore tuning of arc_c_max is ineffective.
  
  Reviewed by: Dan Kimmel <dan.kimmel at delphix.com>
  Reviewed by: Paul Dagnelie <paul.dagnelie at delphix.com>
  Reviewed by: Prakash Surya <prakash.surya at delphix.com>
  Reviewed by: Igor Kozhukhov <ikozhukhov at gmail.com>
  Author: Matthew Ahrens <mahrens at delphix.com>
  
  openzfs/openzfs at 608764beadaf4bb71c5d8fe1818e8392ac66a61b

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	Wed Sep  7 19:29:15 2016	(r305559)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/arc.c	Wed Sep  7 20:00:22 2016	(r305560)
@@ -5618,8 +5618,10 @@ arc_init(void)
 	 * Allow the tunables to override our calculations if they are
 	 * reasonable (ie. over 64MB)
 	 */
-	if (zfs_arc_max > 64 << 20 && zfs_arc_max < allmem)
+	if (zfs_arc_max > 64 << 20 && zfs_arc_max < allmem) {
 		arc_c_max = zfs_arc_max;
+		arc_c_min = MIN(arc_c_min, arc_c_max);
+	}
 	if (zfs_arc_min > 64 << 20 && zfs_arc_min <= arc_c_max)
 		arc_c_min = zfs_arc_min;
 


More information about the svn-src-all mailing list