From owner-freebsd-fs@FreeBSD.ORG Sun Jun 21 10:41:59 2009 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C0759106564A for ; Sun, 21 Jun 2009 10:41:59 +0000 (UTC) (envelope-from dan.naumov@gmail.com) Received: from an-out-0708.google.com (an-out-0708.google.com [209.85.132.243]) by mx1.freebsd.org (Postfix) with ESMTP id 774C38FC17 for ; Sun, 21 Jun 2009 10:41:59 +0000 (UTC) (envelope-from dan.naumov@gmail.com) Received: by an-out-0708.google.com with SMTP id c3so1158683ana.13 for ; Sun, 21 Jun 2009 03:41:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=ckIbPN9E+QmLwZV5M3vQuJ3dxK4SrTRB68RcJu0ymXk=; b=FzlI83m0piVVPVFdhd9b8lZfzaOl70q3hm+c538wzAxe2NQ+vUXwZsaJ8Tx+K302hT cAlhc4cdRy4l2ku1ewPU3VNsxrPxU0mV8c0A+I47x0ChFTHIeLpOElMMp2Ch1DvDDixF Y3SKY8o4d9C4BXMH4yLqd2r7VuGGq2ekHHI2E= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=FY1uGtzRBG9/fpB2P5OWqTwNiY9CtgMZSgBpDTBb/PrHnPp3zcX2rFyAdclqq6tny0 5Vq19Ap//SLc/+OmnpWHJkpDzahyuq3fFKTx99y3EMmIhiWTgDw1I1Q8EwPhjVIL9rY9 99yp0s2JhE9l9Ysfa1V7DeCo216xZbTKGRR5E= MIME-Version: 1.0 Received: by 10.100.141.15 with SMTP id o15mr6425249and.20.1245580918652; Sun, 21 Jun 2009 03:41:58 -0700 (PDT) In-Reply-To: References: <20090620231130.GA88907@owl.midgard.homeip.net> <3c1674c90906201808t1854dd46n82213fbd0c1c254c@mail.gmail.com> <20090621092736.GA92656@owl.midgard.homeip.net> Date: Sun, 21 Jun 2009 13:41:58 +0300 Message-ID: From: Dan Naumov To: Erik Trulsson Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-fs@freebsd.org, Kip Macy Subject: Re: ufs2 / softupdates / ZFS / disk write cache X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Jun 2009 10:42:00 -0000 On Sun, Jun 21, 2009 at 1:03 PM, Dan Naumov wrote: > On Sun, Jun 21, 2009 at 12:27 PM, Erik Trulsson w= rote: >> On Sun, Jun 21, 2009 at 05:18:39AM +0300, Dan Naumov wrote: >>> Uh oh.... After some digging around, I found the following quote: "ZFS >>> is designed to work with storage devices that manage a disk-level >>> cache. ZFS commonly asks the storage device to ensure that data is >>> safely placed on stable storage by requesting a cache flush." at >>> http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuning_Guide I >>> guess this might be somewhat related to why in the "disk cache >>> disabled" scenario, ZFS suffers bigger losses than UFS2. >> >> If that quote is correct (and I have no real reason to doubt it) then >> it should probably be safe to enable the disk's write cache when used wi= th >> ZFS. =A0(That would make sense since UFS/FFS was originally designed to = work >> with an older generation of disks that did not do any significant amount >> of write-caching (partly due to having very little cache on them), while >> ZFS has been designed to be used on modern hardware, and to be reliable = even >> on cheap consumer-grade disks.) > > Actually, now that I think of it, this could be pretty big. If using > ZFS on a disk will cause the disk to flush the cache every 5 seconds, > wouldn't that mean that the sections of the cache that hold data from > the UFS partition get flushed to disk as well, mostly eleminating the > entire "disk cache lying =3D softupdates inconsistent" problem > altogether? The most important part of this is obviously, whether the > "ZFS forces cache flushes every 5 seconds) thing works in all cases > (like mine, where I use ZFS on a slice) and not only those where ZFS > is given direct access to the disk. Anyone knowledgable in the ways of > FreeBSD ZFS implementation care to chip in? :) Actually, if it is possible for ZFS to issue "flush the cache NOW" commands directly to disk every 5 seconds by default (value tunable) I see 2 potential options/changes that would make the life of "UFS2+softupdates on SATA disks" users a whole lot easier. One option would be to add this same functionality to softupdates, making softupdates force a disk cache flush to ensure consistency. Another option would be to have a loader.conf tunable where you could enable and manually adjust the time intervals of forced disk cache flushes (without any regard for actual filesystem used). The latter option is a bit uglier, but still a LOT less ugly than suggesting people disable disk cache altogether ending up with 2-4MB/s write speeds on modern hardware. Should I perhaps Should I perhaps do a "proposed change" send-PR regarding either option? - Sincerely, Dan Naumov