Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Jun 2008 11:19:49 +0300
From:      "Niki Denev" <nike_d@cytexbg.com>
To:        "Dmitry Marakasov" <amdmi3@amdmi3.ru>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: ZFS, async-like per-filesystem option
Message-ID:  <2e77fc10806110119r39cf3725u610887954326955b@mail.gmail.com>
In-Reply-To: <20080611004019.GA1119@hades.panopticon>
References:  <20080611004019.GA1119@hades.panopticon>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jun 11, 2008 at 3:40 AM, Dmitry Marakasov <amdmi3@amdmi3.ru> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2e77fc10806110119r39cf3725u610887954326955b>