Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Sep 2010 13:31:19 -0700
From:      Jeremy Chadwick <freebsd@jdc.parodius.com>
To:        Steven Hartland <killing@multiplay.co.uk>
Cc:        freebsd-fs@freebsd.org, jhell <jhell@DataIX.net>
Subject:   Re: zfs very poor performance compared to ufs due to lack of cache?
Message-ID:  <20100905203119.GA55546@icarus.home.lan>
In-Reply-To: <06B9D23F202D4DB88D69B7C4507986B7@multiplay.co.uk>
References:  <5DB6E7C798E44D33A05673F4B773405E@multiplay.co.uk> <AANLkTi=6bta-Obrh2ejLCHENEbhV5stbMsvfek3Ki4ba@mail.gmail.com> <4C825D65.3040004@DataIX.net> <7EA7AD058C0143B2BF2471CC121C1687@multiplay.co.uk> <1F64110BFBD5468B8B26879A9D8C94EF@multiplay.co.uk> <4C83A214.1080204@DataIX.net> <06B9D23F202D4DB88D69B7C4507986B7@multiplay.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Sep 05, 2010 at 09:13:16PM +0100, Steven Hartland wrote:
> ----- Original Message ----- From: "jhell" <jhell@DataIX.net>
> 
> >I am not exactly sure what your source is right now but guessing its at
> >least 8.1-RELEASE & hoping its 8.1-STABLE.
> >
> >Line 3656 & 3657 of arc.c ? what are they ?
> >
> >Do they look like the following,
> >3656:  uint64_t available_memory = ptoa((uintmax_t)cnt.v_free_count
> >3657:      + cnt.v_cache_count);
> 
> Sorry yes running 8.1-RELEASE with the patches mentioned atm:
> 
> 3656 of arc.c looks like:
> 
>    if (arc_size > arc_c_min) {
>        uint64_t evictable_memory =
>            arc_mru->arcs_lsize[ARC_BUFC_DATA] +
>            arc_mru->arcs_lsize[ARC_BUFC_METADATA] +
>            arc_mfu->arcs_lsize[ARC_BUFC_DATA] +
>            arc_mfu->arcs_lsize[ARC_BUFC_METADATA];
>        available_memory += MIN(evictable_memory, arc_size - arc_c_min);
>    }
> 
> earlier at 3614 I have what I think your after which is:
>    uint64_t available_memory = ptoa((uintmax_t)cnt.v_free_count);

No, that line of code is different than the one jhell provided.
Additionally, there are other changes in the same commit which are being
overlooked.

There have been changes between 8.1-RELEASE and RELENG_8 (8.0-STABLE),
some affecting ARC behaviour.  Rather than go through "patch hell",
staring at hundreds of lines of code and trying to work out what got
changed where or hacking up a solution, I'd recommend you simply move to
RELENG_8 (8.1-STABLE) and see if the behaviour you describe goes away.

If it doesn't improve, patches might be written that address the
problem, and those patches will only be for RELENG_8, because that's
where all the attention is being applied to.  RELENG_8_x (8.x-RELEASE)
branches do not get this attention (and this is intentional).

There is no official resource/announcement regarding when changes in the
FreeBSD ZFS code changes, regardless of branch.  Users are apparently
"expected" to follow commits/changes as they come in.

-- 
| Jeremy Chadwick                                   jdc@parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |




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