Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Jul 2011 09:20:32 +0000 (UTC)
From:      Martin Matuska <mm@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r223861 - stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <201107080920.p689KW0K001572@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mm
Date: Fri Jul  8 09:20:32 2011
New Revision: 223861
URL: http://svn.freebsd.org/changeset/base/223861

Log:
  MFC r223622:
  Disable vdev cache (readahead) by default.
  
  The vdev cache is very underutilized (hit ratio 30%-70%) and may consume
  excessive memory on systems with many vdevs.
  
  Illumos-gate revision:	13346
  Obtained from:		Illumos (Bug #175)

Modified:
  stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)

Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c
==============================================================================
--- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c	Fri Jul  8 09:18:50 2011	(r223860)
+++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c	Fri Jul  8 09:20:32 2011	(r223861)
@@ -71,9 +71,16 @@
  * 1<<zfs_vdev_cache_bshift byte reads by the vdev_cache (aka software
  * track buffer).  At most zfs_vdev_cache_size bytes will be kept in each
  * vdev's vdev_cache.
+ *
+ * TODO: Note that with the current ZFS code, it turns out that the
+ * vdev cache is not helpful, and in some cases actually harmful.  It
+ * is better if we disable this.  Once some time has passed, we should
+ * actually remove this to simplify the code.  For now we just disable
+ * it by setting the zfs_vdev_cache_size to zero.  Note that Solaris 11
+ * has made these same changes.
  */
 int zfs_vdev_cache_max = 1<<14;			/* 16KB */
-int zfs_vdev_cache_size = 10ULL << 20;		/* 10MB */
+int zfs_vdev_cache_size = 0;
 int zfs_vdev_cache_bshift = 16;
 
 #define	VCBS (1 << zfs_vdev_cache_bshift)	/* 64KB */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201107080920.p689KW0K001572>