On 12 Nov 2020, at 14:04, Trond Myklebust wrote: > On Thu, 2020-11-12 at 13:39 -0500, Benjamin Coddington wrote: >> >> >> On 12 Nov 2020, at 13:26, Trond Myklebust wrote: >> >>> On Thu, 2020-11-12 at 16:51 +0000, Trond Myklebust wrote: >>>> >>>> I was going to ask you if perhaps reverting Scott's commit >>>> 07b5ce8ef2d8 >>>> ("NFS: Make nfs_readdir revalidate less often") might help here? >>>> My thinking is that will trigger more cache invalidations when >>>> the >>>> directory is changing underneath us, and will now trigger >>>> uncached >>>> readdir in those situations. >>>> >>>>> >>> >>> IOW, the suggestion would be to apply something like the following >>> on >>> top of the existing readdir patchset: >> >> I'm all for this approach, but - I'm rarely seeing the mapping- >>> nrpages == 0 >> since the cache is dropped by a process in nfs_readdir() that >> immediately >> starts filling the cache again. > > That's why I moved the check in readdir_search_pagecache. Unless that > process has set desc->dir_cookie == 0, then that should prevent the > refilling. My pathological benchmarking does send another process in with desc->dir_cookie == 0. I'm doing fork(), while(getdents) every second with acdirmin=1 and a listing that takes longer than 1 second to complete uncached, while touching the directory every second. Ben