From: Andrei-Alexandru Bleortu <me@andrei-z.com>
To: Trond Myklebust <trondmy@kernel.org>,
Anna Schumaker <anna@kernel.org>, <linux-nfs@vger.kernel.org>
Cc: Andrei-Alexandru Bleortu <me@andrei-z.com>,
Chuck Lever <cel@kernel.org>, Jeff Layton <jlayton@kernel.org>,
NeilBrown <neil@brown.name>,
Olga Kornievskaia <okorniev@redhat.com>,
Dai Ngo <Dai.Ngo@oracle.com>, Tom Talpey <tom@talpey.com>,
<linux-kernel@vger.kernel.org>
Subject: [PATCH 0/1] xprtrdma: Post small RPC Calls inline
Date: Thu, 15 Oct 2026 15:48:25 +0300 [thread overview]
Message-ID: <20261015124826.2962950-1-me@andrei-z.com> (raw)
The client posts every RPC Call by reference, so the HCA reads it from
host memory before transmitting. This patch asks for 256 bytes of
inline data at QP creation and posts small Calls with IB_SEND_INLINE.
If the device refuses, it asks for less. The commit message has the
details and the measurements.
The matching server change, "svcrdma: Post small Replies inline", is
going to the NFSD maintainers on its own. The two do not depend on
each other.
It builds with W=1 on Anna's linux-next without new warnings. I tested
it in a QEMU guest with rdma_rxe on a dummy netdev. The NFS client and
server ran on the same host over RDMA, using NFSv3 and NFSv4.1.
8 MiB of 4 KiB O_DIRECT writes and reads, and 200 small files,
compared equal. 9836 Calls went inline and 214 by reference.
I also made rxe refuse inline requests above a limit and report a
chosen vendor ID. The data still compared equal in each case:
vendor ID limit QP got
Intel 216/101/48 216/101/48 bytes
Alibaba 96 96 bytes
rxe 101 96 bytes
At 216 bytes 5632 Calls went inline; at 96 or 101 only 3 did, as most
Calls in this test are larger. The guest kernel also carried the
svcrdma patch. Its xprtrdma client code is linux-next's without two
later commits, 0b5bb4e586f7 and 9ee534a75912, which do not change how
Calls are posted.
I wrote this patch with an LLM coding assistant (Claude Code), which
also drafted the commit message and ran the build and the VM test.
Andrei-Alexandru Bleortu (1):
xprtrdma: Post small RPC Calls inline
net/sunrpc/xprtrdma/rpc_rdma.c | 30 ++++++++++++++++++
net/sunrpc/xprtrdma/verbs.c | 58 +++++++++++++++++++++++++++++++++-
2 files changed, 87 insertions(+), 1 deletion(-)
base-commit: 9ee534a75912361308b1f956bc3e7895a082a422
--
2.56.0
next reply other threads:[~2026-10-15 12:48 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-15 12:48 Andrei-Alexandru Bleortu [this message]
2026-10-15 12:48 ` [PATCH 1/1] " Andrei-Alexandru Bleortu
2026-10-15 18:30 ` Chuck Lever
2026-10-15 19:00 ` Andrei-Alexandru Bleortu
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=20261015124826.2962950-1-me@andrei-z.com \
--to=me@andrei-z.com \
--cc=Dai.Ngo@oracle.com \
--cc=anna@kernel.org \
--cc=cel@kernel.org \
--cc=jlayton@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=neil@brown.name \
--cc=okorniev@redhat.com \
--cc=tom@talpey.com \
--cc=trondmy@kernel.org \
/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
all inboxes | Powered by JetHome®