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

Matthew Ahrens matt at mahrens.org
Tue Nov 18 22:44:00 UTC 2014


On Tue, Nov 18, 2014 at 2:00 PM, Slawa Olhovchenkov <slw at zxy.spb.ru> wrote:

> On Tue, Nov 18, 2014 at 06:40:02PM +0000, Xin LI wrote:
>
> > Author: delphij
> > Date: Tue Nov 18 18:40:01 2014
> > New Revision: 274673
> > URL: https://svnweb.freebsd.org/changeset/base/274673
> >
> > Log:
> >   Allow tuning zfs_max_recordsize via loader tunable.  Tuning is NOT
> >   recommended.
>
> This is not tuning, this is simple guard.
> And can be safe changed (incrased, at the least) in any time.
> For some workload optimal is maximum, i.e. 16MB.
> May be better comment: increasing this value required strong
> understaning after-effects of increasing memory consumption and
> bulk data transfers. (sorry for english)
>

I agree -- setting recordsize to 16MB is an easy way to make performance
suck if you don't know what you're doing.  But it isn't dangerous from a
correctness point of view.

--matt



>
> >   Requested by:       Slawa Olhovchenkov <slw zxy spb ru>
> >   MFC after:  2 weeks
>
> Thanks, can you allow RW?
>
> > Modified:
> >   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
> >
> > Modified:
> head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
> >
> ==============================================================================
> > --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
> Tue Nov 18 18:03:40 2014        (r274672)
> > +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
> Tue Nov 18 18:40:01 2014        (r274673)
> > @@ -51,6 +51,8 @@
> >  #include <sys/dsl_userhold.h>
> >  #include <sys/dsl_bookmark.h>
> >
> > +SYSCTL_DECL(_vfs_zfs);
> > +
> >  /*
> >   * The SPA supports block sizes up to 16MB.  However, very large blocks
> >   * can have an impact on i/o latency (e.g. tying up a spinning disk for
> > @@ -61,6 +63,9 @@
> >   * of this setting.
> >   */
> >  int zfs_max_recordsize = 1 * 1024 * 1024;
> > +SYSCTL_INT(_vfs_zfs, OID_AUTO, max_recordsize, CTLFLAG_RDTUN,
> > +    &zfs_max_recordsize, 0,
> > +    "Maximum block size.  Expect dragons when tuning this.");
> >
> >  #define      SWITCH64(x, y) \
> >       { \
> > _______________________________________________
> > svn-src-all at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/svn-src-all
> > To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"
>
>


More information about the svn-src-head mailing list