From: Chuck Lever <chuck.lever@oracle.com>
To: linux-nfs@vger.kernel.org, linux-mm@kvack.org
Cc: neilb@suse.de
Subject: [PATCH v4 0/3] Bulk-release pages during NFSD read splice
Date: Mon, 12 Jul 2021 14:57:46 -0400 [thread overview]
Message-ID: <162611520339.1416.14646909890289253420.stgit@klimt.1015granger.net> (raw)
As with the page allocation side, I'm trying to reduce the average
number of times NFSD invokes the page allocation and release APIs
because they can be expensive, and because it is a resource that is
shared amongst all nfsd threads and thus access to it is at least
partially serialized. This small series tackles a code path that is
frequently invoked when NFSD handles READ operations on local
filesystems that support splice (i.e., most of the popular ones).
Changes since v3:
- Mark patches 1 and 3 as Reviewed-by: Neil Brown
- Convert bare release_pages() calls to pagevec_release()
- Release accrued free pages after every RPC retires
---
Chuck Lever (3):
NFSD: Clean up splice actor
SUNRPC: Add svc_rqst_replace_page() API
NFSD: Batch release pages during splice read
fs/nfsd/vfs.c | 20 +++++---------------
include/linux/sunrpc/svc.h | 4 ++++
net/sunrpc/svc.c | 21 +++++++++++++++++++++
net/sunrpc/svc_xprt.c | 3 +++
4 files changed, 33 insertions(+), 15 deletions(-)
--
Chuck Lever
next reply other threads:[~2021-07-12 18:57 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-12 18:57 Chuck Lever [this message]
2021-07-12 18:57 ` [PATCH v4 1/3] NFSD: Clean up splice actor Chuck Lever
2021-07-12 18:57 ` [PATCH v4 2/3] SUNRPC: Add svc_rqst_replace_page() API Chuck Lever
2021-07-12 18:58 ` [PATCH v4 3/3] NFSD: Batch release pages during splice read Chuck Lever
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=162611520339.1416.14646909890289253420.stgit@klimt.1015granger.net \
--to=chuck.lever@oracle.com \
--cc=linux-mm@kvack.org \
--cc=linux-nfs@vger.kernel.org \
--cc=neilb@suse.de \
/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