Mercurial > illumos > illumos-gate
changeset 13346:f3ce1af7c12d
175 zfs vdev cache consumes excessive memory
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Eric Schrock <eric.schrock@delphix.com>
Approved by: Richard Lowe <richlowe@richlowe.net>
author | Garrett D'Amore <garrett@nexenta.com> |
---|---|
date | Fri, 22 Apr 2011 00:49:41 -0700 |
parents | 20c193a013b8 |
children | 6c866d41744f |
files | usr/src/uts/common/fs/zfs/vdev_cache.c |
diffstat | 1 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/uts/common/fs/zfs/vdev_cache.c Thu Apr 21 20:06:37 2011 -0400 +++ b/usr/src/uts/common/fs/zfs/vdev_cache.c Fri Apr 22 00:49:41 2011 -0700 @@ -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 */