Re: [PATCH 5/6] NFSD: leverage DIO alignment to selectively issue O_DIRECT reads and writes

Christoph Hellwig
2025-06-12T07:28:42Z

On Wed, Jun 11, 2025 at 11:11:28AM -0400, Chuck Lever wrote:
> > If we're doing synchronous, direct I/O writes then why not just respond
> > with FILE_SYNC? The write should be on the platter by the time it
> > returns.
>
> Because "platter". On some devices, writes are slow.
>
> For some workloads, unstable is faster. I have an experimental series
> that makes NFSD convert all NFS WRITEs to FILE_SYNC. It was not an
> across the board win, even with an NVMe-backed file system.

For everything that is not a pure overwrite on a file system that passes
them through, and a device not having a volatile write cache FILE_SYNC
currently is slower. That might change for file systems logging
synchronous writes (I'm playing with that for XFS a bit again), but even
then you only want to selectively do that when the client specifically
requests O_DSYNC semantics as you'd easily overwhelm the log and
introduce a log write amplification.