On 12 Nov 2020, at 13:39, 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.
It would make a lot more sense to me if we could do something like
stash
desc->page_index << PAGE_SHIFT in f_pos after each nfs_readdir, then
the
hueristic could check f_pos >> PAGE_SHIFT > nrpages.
Yes, f_pos is growing many different meanings in NFS directories,
maybe we
can stash it on the directory context.
Ignore the f_pos suggestion -- iterate_dir sets it for us.. would have
to use
a private value.
Ben