Re: [PATCH v5 00/13] NFSD DIRECT and NFS DIRECT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 28, 2025 at 09:48:48AM -0400, Chuck Lever wrote:
> On 7/28/25 9:44 AM, Mike Snitzer wrote:
> > On Sun, Jul 27, 2025 at 11:39:18AM -0400, Chuck Lever wrote:
> >> On 7/24/25 3:30 PM, Mike Snitzer wrote:
> >>> Hi,
> >>>
> >>> Some workloads benefit from NFSD avoiding the page cache, particularly
> >>> those with a working set that is significantly larger than available
> >>> system memory.  This patchset introduces _optional_ support to
> >>> configure the use of O_DIRECT or DONTCACHE for NFSD's READ and WRITE
> >>> support.  The NFSD default to use page cache is left unchanged.
> >>>
> >>> The performance win associated with using NFSD DIRECT was previously
> >>> summarized here:
> >>> https://lore.kernel.org/linux-nfs/aEslwqa9iMeZjjlV@xxxxxxxxxx/
> >>> This picture offers a nice summary of performance gains:
> >>> https://original.art/NFSD_direct_vs_buffered_IO.jpg
> >>>
> >>> Similarly, NFS and LOCALIO in particular also benefit from avoiding
> >>> the page cache for workloads that have a working set that is
> >>> significantly larger than available system memory. Enter: NFS DIRECT,
> >>> which makes it possible to always enable LOCALIO to use O_DIRECT even
> >>> if the IO is not DIO-aligned.
> >>>
> >>> For this v5 I've combined the NFSD and NFSD patchsets because the NFS
> >>> changes do depend on the the NFSD changes.  In addition, I think it
> >>> makes sense to review/test these changes together.
> >>
> >> I'm ready to pull the six NFSD patches in this series into nfsd-testing.
> >> IMO we want regression and performance testing of NFSD, outside of the
> >> LOCALIO paths, before claiming merge readiness.
> > 
> > Makes sense, the NFSD changes are independent.  LOCALIO's access to
> > the dio alignment attrs in nfsd_file is a convenience.
> 
> As I was drifting off to sleep last night, my mind hallucinated the
> idea that maybe all (three) caching modes should align the READ
> payload. Would that make sense / simplify 06/13 ?

As in nfsd_iter_read() no longer being passed @base?  Sure it'd
simplify things a bit, but not so much that it needs to be done as a
prereq.

Bigger bonus is that it reduces cause for needless inability to use
DIO if/when configured to do so. So in that respect, definitely a good
incremental improvement.

Mike




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux