On Sun, Aug 16, 2020 at 04:46:00PM -0400, Chuck Lever wrote: > Hi Bruce- > > > On Aug 11, 2020, at 9:31 AM, Chuck Lever <chuck.lever@xxxxxxxxxx> wrote: > > > >> On Aug 10, 2020, at 4:10 PM, Bruce Fields <bfields@xxxxxxxxxxxx> wrote: > >> > >> On Mon, Aug 10, 2020 at 04:01:00PM -0400, Chuck Lever wrote: > >>> Roughly the same result with this patch as with the first one. The > >>> first one is a little better. Plus, I think the Solaris NFS server > >>> hands out write delegations on v4.0, and I haven't heard of a > >>> significant issue there. It's heuristics may be different, though. > >>> > >>> So, it might be that NFSv4.0 has always run significantly slower. I > >>> will have to try a v5.4 or older server to see. > >> > >> Oh, OK, I was assuming this was a regression. > > > > Me too. Looks like it is: NFSv4.0 always runs slower, but I see > > it get significantly worse between v5.4 and 5.5. I will post more > > quantified results soon. > > It took me a while to get plausible bisection results. The problem > appears in the midst of the NFSD filecache patches merged in v5.4. Well, that's interesting. > In order of application: > > 5920afa3c85f ("nfsd: hook nfsd_commit up to the nfsd_file cache") > 961.68user 5252.40system 20:12.30elapsed 512%CPU, 2541 DELAY errors > These results are similar to v5.3. > > fd4f83fd7dfb ("nfsd: convert nfs4_file->fi_fds array to use nfsd_files") > Does not build > > eb82dd393744 ("nfsd: convert fi_deleg_file and ls_file fields to nfsd_file") > 966.92user 5425.47system 33:52.79elapsed 314%CPU, 1330 DELAY errors > > Can you take a look and see if there's anything obvious? Unfortunately nothing about the file cache code is very obvious to me. I'm looking at it.... It adds some new nfserr_jukebox returns in nfsd_file_acquire. Those mostly look like kmalloc failures, the one I'm not sure about is the NFSD_FILE_HASHED check. Or maybe it's the lease break there. --b.