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

Andriy Gapon avg at FreeBSD.org
Tue Oct 7 16:08:22 UTC 2014


Author: avg
Date: Tue Oct  7 16:08:21 2014
New Revision: 272708
URL: https://svnweb.freebsd.org/changeset/base/272708

Log:
  l2arc_write_buffers: reduce headroom value
  
  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.
  
  headroom determines how much data is scanned on a single list
  during each run of the l2arc feed thread.
  Because FreeBSD has more lists we proportionally decrease the limit.
  
  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 16:06:10 2014	(r272707)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c	Tue Oct  7 16:08:21 2014	(r272708)
@@ -5047,7 +5047,7 @@ l2arc_write_buffers(spa_t *spa, l2arc_de
 		if (ab == NULL)
 			ARCSTAT_BUMP(arcstat_l2_write_buffer_list_null_iter);
 
-		headroom = target_sz * l2arc_headroom;
+		headroom = target_sz * l2arc_headroom * 2 / ARC_BUFC_NUMLISTS;
 		if (do_headroom_boost)
 			headroom = (headroom * l2arc_headroom_boost) / 100;
 


More information about the svn-src-head mailing list