Alexander,

On Fri, 3 Apr 2015, Alexander Motin wrote:

> Author: mav
> Date: Fri Apr  3 14:45:48 2015
> New Revision: 281026
> URL: https://svnweb.freebsd.org/changeset/base/281026
> 
> Log:
>   Make ZFS ARC track both KVA usage and fragmentation.
>   
>   Even on Illumos, with its much larger KVA, ZFS ARC steps back if KVA usage
>   reaches certain threshold (3/4 on i386 or 16/17 otherwise).  FreeBSD has
>   even less KVA, but had no such limit on archs with direct map as amd64.
>   As result, on machines with a lot of RAM, during load with very small user-
>   space memory pressure, such as `zfs send`, it was possible to reach state,
>   when there is enough both physical RAM and KVA (I've seen up to 25-30%),
>   but no continuous KVA range to allocate even single 128KB I/O request.
>   
>   Address this situation from two sides:
>    - restore KVA usage limitations in a way the most close to Illumos;
>    - introduce new requirement for KVA fragmentation, specifying that we
>   should have at least one sequential KVA range of zfs_max_recordsize bytes.
>   
>   Experiments show that first limitation done alone is not sufficient.  On
>   machine with 64GB of RAM it is sometimes needed to drop up to half of ARC
>   size to get at leats one 1MB KVA chunk.  Statically limiting ARC to half
>   of KVA/RAM is too strict, so second limitation makes it to work in cycles:
>   accumulate trash up to certain critical mass, do massive spring-cleaning,
>   and then start littering again. :)
>   
>   MFC after:  1 month

Wow.  Excellent dig, thank you.


-- 
Sincerely,
D.Marck                                     [DM5020, MCK-RIPE, DM3-RIPN]
[ FreeBSD committer:                                 ma...@freebsd.org ]
------------------------------------------------------------------------
*** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- ma...@rinet.ru ***
------------------------------------------------------------------------
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to