Thanks all for kind replies !
On Thu, Jul 13, 2017 at 12:48 PM, Matt Benjamin <mbenj...@redhat.com> wrote:
> Dan and Frank are the chunking experts, but iiuc you're right, dir_max
> has no effect when chunking is enabled, and iiuc also yes, the plan is
> to retire the old dirent cache in favor of chuking. Frank also has
> new commits for pruning the dirent cache via it's LRU list.
>
> regards,
>
> Matt
>
> On Wed, Jul 12, 2017 at 11:13 PM, gui mark <guiggl...@gmail.com> wrote:
> > 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