svn commit: r272702 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Andriy Gapon avg at FreeBSD.org
Tue Oct 7 14:30:25 UTC 2014


Author: avg
Date: Tue Oct  7 14:30:24 2014
New Revision: 272702
URL: https://svnweb.freebsd.org/changeset/base/272702

Log:
  reduce L2ARC_WRITE_SIZE on FreeBSD
  
  FreeBSD has ARC_BUFC_NUMMETADATALISTS metadata lists and ARC_BUFC_NUMDATALISTS
  data lists (currently both are 16) while illumos has just a single list
  of each kind.
  
  L2ARC_WRITE_SIZE determines the default value of l2arc_write_max which
  defines limits on how much data is scanned and written to a cache device
  during each run of the l2arc feed thread.  The limits are applied on the
  per buffer list basis.
  Because FreeBSD has more lists we proportionally reduce the limits.
  
  Reviewed by:	Brendan Gregg (earlier version)
  MFC after:	2 weeks
  Sponsored by:	HybridCluster

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Tue Oct  7 14:15:50 2014	(r272701)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Tue Oct  7 14:30:24 2014	(r272702)
@@ -711,7 +711,9 @@ uint64_t zfs_crc64_table[256];
  * Level 2 ARC
  */
 
-#define	L2ARC_WRITE_SIZE	(8 * 1024 * 1024)	/* initial write max */
+/* initial write max */
+#define	L2ARC_WRITE_SIZE	\
+    (8 * 1024 * 1024 * 2 / (ARC_BUFC_NUMMETADATALISTS + ARC_BUFC_NUMDATALISTS))
 #define	L2ARC_HEADROOM		2			/* num of writes */
 /*
  * If we discover during ARC scan any buffers to be compressed, we boost


More information about the svn-src-all mailing list