• Benjamin Coddington's avatar
    NFS: Trigger the "ls -l" readdir heuristic sooner · 85aa8ddc
    Benjamin Coddington authored
    Since commit 1a34c8c9
    
     ("NFS: Support larger readdir buffers") has
    updated dtsize, and with recent improvements to the READDIRPLUS helper
    heuristic, the heuristic may not trigger until many dentries are emitted
    to userspace.   This will cause many thousands of GETATTR calls for "ls
    -l" when the directory's pagecache has already been populated.  This
    manifests as poor performance for long directory listings after an
    initially fast "ls -l".
    
    Fix this by emitting only 17 entries for any first pass through the NFS
    directory's ->iterate_shared(), which allows userpace to prime the
    counters for the heuristic.
    Signed-off-by: default avatarBenjamin Coddington <bcodding@redhat.com>
    Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
    85aa8ddc
dir.c 85 KB