Re: [RFC PATCH 27/28] sunrpc: Use sendmsg(MSG_SPLICE_PAGES) rather then sendpage

From: David Howells
Date: Thu Mar 16 2023 - 13:29:17 EST


Chuck Lever III <chuck.lever@xxxxxxxxxx> wrote:

> That means I haven't seen the cover letter and do not have any
> context for this proposed change.

https://lore.kernel.org/linux-fsdevel/20230316152618.711970-1-dhowells@xxxxxxxxxx/

> We've tried combining the sendpages calls in here before. It
> results in a significant and measurable performance regression.
> See:
>
> da1661b93bf4 ("SUNRPC: Teach server to use xprt_sock_sendmsg for socket sends")

The commit replaced the use of sendpage with sendmsg, but that took away the
zerocopy aspect of sendpage. The idea behind MSG_SPLICE_PAGES is that it
allows you to do keep that. I'll have to try reapplying this commit and
adding the MSG_SPLICE_PAGES flag.

> Therefore, this kind of change needs to be accompanied by both
> benchmark results and some field testing to convince me it won't
> cause harm.

Yep.

> And, we have to make certain that this doesn't break operation
> with kTLS sockets... do they support MSG_SPLICE_PAGES ?

I haven't yet tackled AF_TLS, AF_KCM or AF_SMC as they seem significantly more
complex than TCP and UDP. I thought I'd get some feedback on what I have
before I tried my hand at those.

David