[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID:
<168935791041.1984.13295336680505732841.stgit@manet.1015granger.net>
Date: Fri, 14 Jul 2023 14:10:31 -0400
From: Chuck Lever <cel@...nel.org>
To: linux-nfs@...r.kernel.org, netdev@...r.kernel.org
Cc: Chuck Lever <chuck.lever@...cle.com>, David Howells <dhowells@...hat.com>,
dhowells@...hat.com
Subject: [PATCH v2 0/4] Send RPC-on-TCP with one sock_sendmsg() call
After some discussion with David Howells at LSF/MM 2023, we arrived
at a plan to use a single sock_sendmsg() call for transmitting an
RPC message on socket-based transports. This is an initial part of
the transition to support handling folios with file content, but it
has scalability benefits as well.
This series passes the usual set of NFS-based tests. I've found no
behavior regressions so far. From the netdev folks, I'm interested
to know if this approach is sensible. The next step is performance
benchmarking.
Changes since RFC:
* Moved xdr_buf-to-bio_vec array helper to generic XDR code
* Added bio_vec array bounds-checking
* Re-ordered patches
---
Chuck Lever (4):
SUNRPC: Convert svc_tcp_sendmsg to use bio_vecs directly
SUNRPC: Send RPC message on TCP with a single sock_sendmsg() call
SUNRPC: Convert svc_udp_sendto() to use the per-socket bio_vec array
SUNRPC: Use a per-transport receive bio_vec array
include/linux/sunrpc/svc.h | 1 -
include/linux/sunrpc/svcsock.h | 7 +++
include/linux/sunrpc/xdr.h | 2 +
net/sunrpc/svcsock.c | 111 ++++++++++++++-------------------
net/sunrpc/xdr.c | 50 +++++++++++++++
5 files changed, 107 insertions(+), 64 deletions(-)
--
Chuck Lever
Powered by blists - more mailing lists