From owner-freebsd-fs@FreeBSD.ORG Wed Jun 11 08:19:49 2008 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 871FF106567C for ; Wed, 11 Jun 2008 08:19:49 +0000 (UTC) (envelope-from ndenev@gmail.com) Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.233]) by mx1.freebsd.org (Postfix) with ESMTP id 6168B8FC1A for ; Wed, 11 Jun 2008 08:19:49 +0000 (UTC) (envelope-from ndenev@gmail.com) Received: by rv-out-0506.google.com with SMTP id b25so3607321rvf.43 for ; Wed, 11 Jun 2008 01:19:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references :x-google-sender-auth; bh=HL70VsJMM1OdLW/c2X7AgVPPdMG2zKAahdKPbNgLYmY=; b=tP3vsfaBL4rE6VFmvLbaGldt3Ick7Yq2ysMujv7FcjWnYWJcZByUi7Zti5RXkkx0g7 HTgF/BJWMpqGWG2H+YrPIScpHCAikdXVP221rweL+6nBKL8cIj2SxOHtCqP+osf4xRQI fzDWrf8JnYrwGy7KkD5OrfPBnzvkVad4NwWfQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references:x-google-sender-auth; b=k/yMtxMl5JGCnFyOZ8q4uiRjkinwLxdzdh9u/HIKmpf8kRGWhu9R2HEPITpt8bvEUR mEkEBzfMT27c1mVpv9Jz3HsDWD5eVxfJV9tkMFuWrTJY3G8IEzbIIlT3n/9e3kLKuLRh rhspwsOaIAl0WLXKyNTTYqc439IqbK3Flr93M= Received: by 10.115.58.1 with SMTP id l1mr6135556wak.27.1213172389159; Wed, 11 Jun 2008 01:19:49 -0700 (PDT) Received: by 10.114.161.7 with HTTP; Wed, 11 Jun 2008 01:19:49 -0700 (PDT) Message-ID: <2e77fc10806110119r39cf3725u610887954326955b@mail.gmail.com> Date: Wed, 11 Jun 2008 11:19:49 +0300 From: "Niki Denev" Sender: ndenev@gmail.com To: "Dmitry Marakasov" In-Reply-To: <20080611004019.GA1119@hades.panopticon> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20080611004019.GA1119@hades.panopticon> X-Google-Sender-Auth: 52858b36881613b3 Cc: freebsd-fs@freebsd.org Subject: Re: ZFS, async-like per-filesystem option 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: Wed, 11 Jun 2008 08:19:49 -0000 On Wed, Jun 11, 2008 at 3:40 AM, Dmitry Marakasov wrote: > Hi! > > There are cases when you don't care about safeness and integrity > of your files at all, but still you need to store them on hdd. The > example is massive ports building: I use WRKDIRPREFIX=/usr/work so > all workdirs reside in the same place, and I absolutely don't care > if I lose the whole directory on blackout. Still I can't use md(4) > or tmpfs for it, as those are limited by memory+swap sizes, and, > having 2Gb mem + 2Gb swap I'm likely to run out of space. Using > ZFS for /usr/work makes my disks make horrible noise during build, > and I can also guess that performance drops significantly because > processes are likely to wait more time to read from disk, thus 2 CPU > cures are not 100% loaded most time with 3 parallel builds. > > As ZFS heavily uses caching, I thought that it may be ideal solution > if it had something like `async' (or more corretly, `nosync') property > for filesysems. Turning it on will make specific filesystem completely > ignore fsync() calls, so files will stay in memory until they are pushed > out of cache by newer/more recently used/more frequently used data. > That should reduce disk load, increase performance and free me from > thinking how much size I need for md(4). > > So, my questions are: > - Is something like that planned or already implemented upstream? > > - How hard would it be to implement it? The easy way seems to make > zfs_freebsd_fsync() no-op, but I'm not sure of side-effects. The > correct way I guess is to bypass ZIL conditionally. > > -- > Dmitry A. Marakasov | jabber: amdmi3@jabber.ru > amdmi3@amdmi3.ru | http://www.amdmi3.ru Hi, You can try to disable ZIL with the following sysctl : vfs.zfs.zil_disable But this will disable it completely, not only for given pool/dataset Regards, Niki