linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v2 0/8] NFSD: support DIO
@ 2025-07-08 16:06 Mike Snitzer
  2025-07-08 16:06 ` [RFC PATCH v2 1/8] NFSD: Relocate the fh_want_write() and fh_drop_write() helpers Mike Snitzer
                   ` (7 more replies)
  0 siblings, 8 replies; 33+ messages in thread
From: Mike Snitzer @ 2025-07-08 16:06 UTC (permalink / raw)
  To: Chuck Lever, Jeff Layton, NeilBrown, Olga Kornievskaia, Dai Ngo,
	Tom Talpey, Trond Myklebust, Anna Schumaker
  Cc: linux-nfs, linus-fsdevel, linux-mm, snitzer

Hi,

The v1 thread had quite a bit of discussion, and here are some
highlights worth reading to provide background:
jeff's summary: https://lore.kernel.org/linux-nfs/b1accdad470f19614f9d3865bb3a4c69958e5800.camel@kernel.org/
performance: https://lore.kernel.org/linux-nfs/aEslwqa9iMeZjjlV@kernel.org/

Changes since v1:
- Rebased ontop of Chuck's proposed fh_getattr movement (Chuck, I like
  it so went with it).
- NFSD's expanding of misaligned READ DIO to be DIO-aligned that
  resulted in 'start_extra' blocks being read into associated pages
  caused incorrect data to be returned from NFSD.  This was caught
  using the 'dt' utility.  See patch 8 for more details.
- This v2 patchset has been tested pretty extensively now.

I haven't time to explore Christoph's pagecache idea like I hoped:
https://lore.kernel.org/linux-nfs/aEqEQLumUp8Y7JR5@infradead.org/

Any help with hardening against page cache invalidation problems due
to mixing O_DIRECT and buffered IO appreciated. ;)

Thanks,
Mike

ps. I have a LOCALIO patchset that I'll be posting next that benefits
from this NFSD patchset.

Chuck Lever (2):
  NFSD: Relocate the fh_want_write() and fh_drop_write() helpers
  NFSD: Move the fh_getattr() helper

Mike Snitzer (6):
  NFSD: filecache: add STATX_DIOALIGN and STATX_DIO_READ_ALIGN support
  lib/iov_iter: remove piecewise bvec length checking in iov_iter_aligned_bvec
  NFSD: pass nfsd_file to nfsd_iter_read()
  NFSD: add io_cache_read controls to debugfs interface
  NFSD: add io_cache_write controls to debugfs interface
  NFSD: issue READs using O_DIRECT even if IO is misaligned

 fs/nfsd/debugfs.c          |  94 ++++++++++++++++++++++
 fs/nfsd/filecache.c        |  32 ++++++++
 fs/nfsd/filecache.h        |   4 +
 fs/nfsd/nfs4xdr.c          |   8 +-
 fs/nfsd/nfsd.h             |   9 +++
 fs/nfsd/nfsfh.c            |  27 +++++++
 fs/nfsd/nfsfh.h            |  38 +++++++++
 fs/nfsd/trace.h            |  37 +++++++++
 fs/nfsd/vfs.c              | 154 ++++++++++++++++++++++++++++++++++---
 fs/nfsd/vfs.h              |  35 +--------
 include/linux/sunrpc/svc.h |   5 +-
 lib/iov_iter.c             |   5 +-
 12 files changed, 395 insertions(+), 53 deletions(-)

-- 
2.44.0



^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2025-08-01 16:10 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-08 16:06 [RFC PATCH v2 0/8] NFSD: support DIO Mike Snitzer
2025-07-08 16:06 ` [RFC PATCH v2 1/8] NFSD: Relocate the fh_want_write() and fh_drop_write() helpers Mike Snitzer
2025-07-10 13:59   ` Jeff Layton
2025-07-08 16:06 ` [RFC PATCH v2 2/8] NFSD: Move the fh_getattr() helper Mike Snitzer
2025-07-10 13:59   ` Jeff Layton
2025-07-08 16:06 ` [RFC PATCH v2 3/8] NFSD: filecache: add STATX_DIOALIGN and STATX_DIO_READ_ALIGN support Mike Snitzer
2025-07-10  7:45   ` Christoph Hellwig
2025-07-14 17:46     ` Mike Snitzer
2025-07-08 16:06 ` [RFC PATCH v2 4/8] lib/iov_iter: remove piecewise bvec length checking in iov_iter_aligned_bvec Mike Snitzer
2025-07-10  7:24   ` Christoph Hellwig
2025-07-10  7:32     ` Mike Snitzer
2025-07-10  7:44       ` Christoph Hellwig
2025-07-10 13:52   ` Jeff Layton
2025-07-10 14:48     ` Keith Busch
2025-07-10 16:12       ` Mike Snitzer
2025-07-10 16:29         ` Keith Busch
2025-07-10 17:22           ` Mike Snitzer
2025-07-10 19:51             ` Keith Busch
2025-07-10 19:57             ` Keith Busch
2025-08-01 15:23         ` Keith Busch
2025-08-01 16:10           ` Mike Snitzer
2025-07-08 16:06 ` [RFC PATCH v2 5/8] NFSD: pass nfsd_file to nfsd_iter_read() Mike Snitzer
2025-07-08 16:06 ` [RFC PATCH v2 6/8] NFSD: add io_cache_read controls to debugfs interface Mike Snitzer
2025-07-10  7:47   ` Christoph Hellwig
2025-07-14 17:33     ` Mike Snitzer
2025-07-10 14:06   ` Jeff Layton
2025-07-10 22:46     ` Chuck Lever
2025-07-14 16:47       ` Mike Snitzer
2025-07-15 11:57         ` Jeff Layton
2025-07-08 16:06 ` [RFC PATCH v2 7/8] NFSD: add io_cache_write " Mike Snitzer
2025-07-08 16:06 ` [RFC PATCH v2 8/8] NFSD: issue READs using O_DIRECT even if IO is misaligned Mike Snitzer
2025-07-08 21:22   ` Mike Snitzer
2025-07-10  7:51   ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).