On Thu, Jun 25, 2020 at 07:12:05PM +0000, Frank van der Linden wrote: > Some ideas to alleviate the pain short of doing the above: > > * Count v4 references to nfsd_file (filecache) structures. If there > is a v4 reference, don't have the file on the LRU, as it's pointless. > Do include it in the hash table so that v2/v3 users can find it. This > avoids the worst offender (nfsd_file_lru), but does still blow up > nfsd_file_hashtbl. > > * Use rhashtable for the hashtables, as it can automatically grow/shrink > the number of buckets. I don't know if the rhashtable code could handle > the load, but it might be worth a shot. In fact, don't even put an nfsd_file on the LRU until the first time its references drop to 1, e.g. when it's no longer being used. Because it will never be removed if the refs are > 1, in any case. Let me come up with a patch for that, shouldn't be too hard. - Frank