From: cel@kernel.org
To: Neil Brown <neilb@suse.de>, Jeff Layton <jlayton@kernel.org>,
Olga Kornievskaia <okorniev@redhat.com>,
Dai Ngo <dai.ngo@oracle.com>, Tom Talpey <tom@talpey.com>
Cc: <linux-nfs@vger.kernel.org>,
Trond Myklebust <trond.myklebust@hammerspace.com>,
Chuck Lever <chuck.lever@oracle.com>
Subject: [RFC PATCH 0/2] NFSD: add a setting to disable splice reads
Date: Sat, 8 Mar 2025 15:14:36 -0500 [thread overview]
Message-ID: <20250308201438.2217-1-cel@kernel.org> (raw)
From: Chuck Lever <chuck.lever@oracle.com>
The usual policy for kernel-user space APIs is that once a public
API appears, it is difficult to change or remove, in order to
maintain backwards compatibility with user space software.
This series introduces /sys/kernel/debug/nfsd/ where we can
hopefully place ephemeral and undocumented settings for testing NFSD
features that are to be added or deprecated without the worry of
having to support an administrative API forever without change,
amen.
As a first consumer of this user-kernel API, the series adds a
simple disable-splice-read setting, which can force all NFS READ
operations to use vfs_iter_read() rather than page splicing to fill
data content for an NFS reply.
The splice read path is the default on most file systems, so it gets
most of the test experience. The purpose of this new setting is to
enable test runners to force the use of the iov iter path. We are
also interested in comparing the performance of the splice and iter
paths, as a prelude to potentially removing page splicing. This new
setting makes it easy to benchmark either read mode without having
to rebuild the kernel.
We have an eye on a few other consumers, such as uncached I/O and
increasing the maximum r/wsize, for which /sys/kernel/debug/nfsd
might be suitable while their performance impact is studied before
a concrete administrative interface is agreed upon.
Opinions and code review are welcome, as always.
Chuck Lever (2):
NFSD: Add /sys/kernel/debug/nfsd
NFSD: Add experimental setting to disable the use of splice read
fs/nfsd/Makefile | 1 +
fs/nfsd/debugfs.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++
fs/nfsd/nfsctl.c | 4 ++++
fs/nfsd/nfsd.h | 10 ++++++++++
fs/nfsd/vfs.c | 4 ++++
5 files changed, 66 insertions(+)
create mode 100644 fs/nfsd/debugfs.c
--
2.48.1
next reply other threads:[~2025-03-08 20:14 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-08 20:14 cel [this message]
2025-03-08 20:14 ` [RFC PATCH 1/2] NFSD: Add /sys/kernel/debug/nfsd cel
2025-03-08 20:14 ` [RFC PATCH 2/2] NFSD: Add experimental setting to disable the use of splice read cel
2025-03-10 12:08 ` [RFC PATCH 0/2] NFSD: add a setting to disable splice reads Jeff Layton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250308201438.2217-1-cel@kernel.org \
--to=cel@kernel.org \
--cc=chuck.lever@oracle.com \
--cc=dai.ngo@oracle.com \
--cc=jlayton@kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=neilb@suse.de \
--cc=okorniev@redhat.com \
--cc=tom@talpey.com \
--cc=trond.myklebust@hammerspace.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox