On Tue, Sep 09, 2025 at 03:05:25PM -0400, Chuck Lever wrote: > From: Chuck Lever <chuck.lever@xxxxxxxxxx> > > Add an experimental option that forces NFS READ operations to use > direct I/O instead of reading through the NFS server's page cache. > > There are already other layers of caching: > - The page cache on NFS clients > - The block device underlying the exported file system > > The server's page cache, in many cases, is unlikely to provide > additional benefit. Some benchmarks have demonstrated that the > server's page cache is actively detrimental for workloads whose > working set is larger than the server's available physical memory. > > For instance, on small NFS servers, cached NFS file content can > squeeze out local memory consumers. For large sequential workloads, > an enormous amount of data flows into and out of the page cache > and is consumed by NFS clients exactly once -- caching that data > is expensive to do and totally valueless. > > For now this is a hidden option that can be enabled on test > systems for benchmarking. In the longer term, this option might > be enabled persistently or per-export. When the exported file > system does not support direct I/O, NFSD falls back to using > either DONTCACHE or buffered I/O to fulfill NFS READ requests. > > Suggested-by: Mike Snitzer <snitzer@xxxxxxxxxx> > Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Reviewed-by: Mike Snitzer <snitzer@xxxxxxxxxx>