IIUC, the dirent chunking is a complete replacement of  the old-style
dirent cache. As I tried, when I have 'Dir_Chunk' on, then 'Dir_Max' will
not limit the number of cached dirents, so are we going to kick out the old
direct cache completely ?

On Tue, Jul 11, 2017 at 8:40 PM, Daniel Gryniewicz <d...@redhat.com> wrote:

> On 07/11/2017 06:00 AM, gui mark wrote:
>
>> Hi Frank (cc list)
>>
>> I started to grow interested with your dirent chunking these days, and
>> I've got a few questions below:
>>
>> 1. Why we need chunking ? only for lru-style management for dirents ?
>>
>
> The big driver for it was the way that dirents were cached before.  When a
> directory was cached, the entire thing needed to be cached before any
> dirents were returned to the client.  This had 2 problems for large
> directories: 1) It took a lot of time, and clients could time out before
> receiving a reply; 2) It took a lot of memory, since we couldn't reap any
> dirents, because we needed them all to return any.
>
> The chunking breaks the readdir up into chunks, so that only one chunk
> must be read before results can be returned to clients, and so that chunks
> can be reaped, freeing memory without breaking readdir.
>
> 2. Is this big feature completed? If not, could you please share some
>> blueprints on that, so we may be able to contribute some effort ?
>>
>
> The feature itself is complete; the last bit of the memory management is
> still outstanding here: https://review.gerrithub.io/#/c/367446/
>
> 3. Do the underlying FSALs have to add impl for any new interfaces (if
>> any) to support chunking ?
>>
>
> Yes and no.  Everything works correctly without any changes.  However, if
> the FSAL can compute dirent cookies directly from the name (ie, no
> round-trip to the cluster) then it can implement compute_readdir_cookie(),
> and be more efficient when handling dirents created from calls other than
> readdir() (such as lookup() and rename()).  This is purely an optimization,
> but one that can theoretically make a difference to come workloads.
>
>
> 4. Does the new-style dirent cache borrows ideas for the kernel dcache ?
>>
>
> Not really, no.  It mostly borrows from the Ganesha's object cache.
>
> Daniel
>
> ------------------------------------------------------------
> ------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Nfs-ganesha-devel mailing list
> Nfs-ganesha-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to