Re: An interesting anomaly in NFS client...

From: Mark Johnston <markj_at_freebsd.org>
Date: Thu, 07 Nov 2024 22:09:21 UTC
On Thu, Nov 07, 2024 at 07:28:59AM +0200, Andriy Gapon wrote:
> On 07/11/2024 02:43, George Neville-Neil wrote:
> > Howdy,
> > 
> > We've been digging into an interesting possible issue in the FreeBSD NFS
> > client. Here is the scenario. I have a FreeBSD VM on my Mac, the Mac is
> > the NFS server, the VM is the client. I then attempt to build an out of
> > tree kernel module that I'm working on. The build looks like it's
> > hanging for 1.5 seconds, and when we look at the packets (pcap file
> > attached) we see a ton of GETATTRs over the first 1.5 seconds. I've put
> > the pcap up here: oct_8_2024.pcapng <https://
> > people.freebsd.org/~gnn/oct_8_2024.pcapng>
> > 
> > I also note that an issue was raised on the forums that seems similar,
> > way back between FreeBSD 10 and 11:
> > 
> > https://forums.freebsd.org/threads/nfs-cache-misses-after-upgrading-to-11-1-
> > from-10-3.65491/
> > <https://forums.freebsd.org/threads/nfs-cache-misses-after-
> > upgrading-to-11-1-from-10-3.65491/>
> > 
> > I'm seeing this on 15 currentish (last few months).
> 
> Could it be just make checking for stale targets?
> I.e., stat-ing various files to check their timestamps.

I suspect it is from this line in sys/conf/config.mk:

__MPATH!=find ${SYSDIR:tA}/ -name \*_if.m

This is running a find command over all of sys/, so it'll stat about
35000 files.  I believe it's from
https://cgit.freebsd.org/src/commit/?id=12f05b84463baacfada5a79eaed061a4899d98aa