From owner-svn-src-head@FreeBSD.ORG Wed Jun 10 08:34:01 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 1033) id 31FCB106566C; Wed, 10 Jun 2009 08:34:01 +0000 (UTC) Date: Wed, 10 Jun 2009 08:34:01 +0000 From: Alexey Dokuchaev To: Kip Macy Message-ID: <20090610083400.GA70060@FreeBSD.org> References: <200906100121.n5A1LWVO089719@svn.freebsd.org> <3c1674c90906092324n58e16154s6800e61752282e42@mail.gmail.com> <3c1674c90906100008i4c632312j32f223b8aca14934@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <3c1674c90906100008i4c632312j32f223b8aca14934@mail.gmail.com> User-Agent: Mutt/1.4.2.1i Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Dmitry Morozovsky Subject: Re: svn commit: r193878 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Jun 2009 08:34:01 -0000 On Wed, Jun 10, 2009 at 12:08:43AM -0700, Kip Macy wrote: > On Wed, Jun 10, 2009 at 12:00 AM, Dmitry Morozovsky wrote: > > On Tue, 9 Jun 2009, Kip Macy wrote: > > > > KM> > KM> š As far as I can tell systems that have less than 4GB are more often hurt > > KM> > KM> š by prefetched than helped. šOn i386 systems and systems with less than 4GB, > > KM> > KM> š prefetch is now disabled by default. I've added a prefetch enable tunable, to > > KM> > KM> š enable prefetching for those systems. The prefetch disable tunable will continue > > KM> > KM> š to unconditionally disable prefetching. > > KM> > KM> > > KM> > > > KM> > [snip] > > KM> > > > KM> > KM> +extern int zfs_prefetch_disable; > > KM> > KM> +extern int zfs_prefetch_enable; > > KM> > > > KM> > [snip] > > KM> > > > KM> > Before the interface is not settled in stone, don't you think simple bool > > KM> > zfs_prefetch tunable (defauled to what looks more reasonable to partucilar > > KM> > arch/memsize) is more clean and straightforward? > > KM> > > > KM> > > KM> Yes. But the semantics I want don't lend themselves well to a boolean. > > KM> I want it to default to off for i386 and amd64 w/ < 4GB and on for > > KM> amd64 > 4GB. However, I want it to be possible for users with larger > > KM> memory systems to disable it and users with smaller memory systems to > > KM> enable it. The only way a simple boolean would work would be if it > > KM> were zfs_prefetch_non_default_behavior, which I think is even more > > KM> confusing than what I have now. > > > > Hmm, I failed to see how boolean prevent the usage: > > > > if arch==i386 || memsize < 4G > > š š š šzfs_prefetch=0 > > else > > š š š šzfs_prefetch=1 > > > > and admin can flip the switch to non-default position. > > > > Right, what you're advocating is zfs_prefetch_non_default. Which is > simpler, but still rather weird. Having special zfs_prefetch_non_default tunable implies that zfs_prefetch can be only set once (i.e. at boot time), and cannot be flipped later. Is that true? If not, I fail to see the need for zfs_prefetch_non_default or original two-sysctl implementation. ./danfe