ZFS ARC and mmap/page cache coherency question

Freddie Cash fjwcash at gmail.com
Tue Jul 5 17:35:14 UTC 2016


On Tue, Jul 5, 2016 at 10:19 AM, Matthew Macy <mmacy at nextbsd.org> wrote:

>  ---- On Mon, 04 Jul 2016 19:26:06 -0700 Karl Denninger <
> karl at denninger.net> wrote ----
>  > On 7/4/2016 18:45, Matthew Macy wrote:
>  > >  ---- On Sun, 03 Jul 2016 08:43:19 -0700 Karl Denninger <
> karl at denninger.net> wrote ----
>  > >  >
>  > >  > On 7/3/2016 02:45, Matthew Macy wrote:
>  > >  > >
>  > >  > >             Cedric greatly overstates the intractability of
> resolving it. Nonetheless, since the initial import very little has been
> done to improve integration, and I don't know of anyone who is up to the
> task taking an interest in it. Consequently, mmap() performance is likely
> "doomed" for the foreseeable future.-M----
>  > >  >
>  > >  > Wellllll....
>  > >  >
>  > >  > I've done a fair bit of work here (see
>  > >  > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=187594) and the
>  > >  > political issues are at least as bad as the coding ones.
>  > >
>  > > Strictly speaking, the root of the problem is the ARC. Not ZFS per
> se. Have you ever tried disabling MFU caching to see how much worse LRU
> only is? I'm not really convinced the ARC's benefits justify its cost.
>  >
>  > The ARC is very useful when it gets a hit as it avoid an I/O that would
>  > otherwise take place.
>  >
>  > Where it sucks is when the system evicts working set to preserve ARC.
>  > That's always wrong in that you're trading a speculative I/O (if the
>  > cache is hit later) for a *guaranteed* one (to page out) and maybe *two*
>  > (to page back in.)
>
> The question wasn't ARC vs. no-caching. It was LRU only vs LRU + MFU.
> There are a lot of issues stemming from the fact that ZFS is a
> transactional object store with a POSIX FS on top. One is that it caches
> disk blocks as opposed to file blocks. However, if one could resolve that
> and have the page cache manage these blocks life would be much much better.
> However, you'd lose MFU. Hence my question.
>

​Are you confusing terms here?

Pretty sure the ARC uses MRU (Most Recently Used) and MFU (Most Frequently
Used) caches.  Not LRU (Least Recently Used).

Or am I misunderstanding what you're trying to say?
​


-- 
Freddie Cash
fjwcash at gmail.com


More information about the freebsd-hackers mailing list