[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230607095541.586a3300@kernel.org>
Date: Wed, 7 Jun 2023 09:55:41 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: David Howells <dhowells@...hat.com>
Cc: netdev@...r.kernel.org,
Linus Torvalds <torvalds@...ux-foundation.org>,
Chuck Lever <chuck.lever@...cle.com>,
Boris Pismenny <borisp@...dia.com>,
John Fastabend <john.fastabend@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Paolo Abeni <pabeni@...hat.com>,
Willem de Bruijn <willemdebruijn.kernel@...il.com>,
David Ahern <dsahern@...nel.org>,
Matthew Wilcox <willy@...radead.org>,
Jens Axboe <axboe@...nel.dk>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next v5 03/14] splice, net: Use
sendmsg(MSG_SPLICE_PAGES) rather than ->sendpage()
On Wed, 7 Jun 2023 15:05:48 +0100 David Howells wrote:
> Replace generic_splice_sendpage() + splice_from_pipe + pipe_to_sendpage()
> with a net-specific handler, splice_to_socket(), that calls sendmsg() with
> MSG_SPLICE_PAGES set instead of calling ->sendpage().
>
> MSG_MORE is used to indicate if the sendmsg() is expected to be followed
> with more data.
>
> This allows multiple pipe-buffer pages to be passed in a single call in a
> BVEC iterator, allowing the processing to be pushed down to a loop in the
> protocol driver. This helps pave the way for passing multipage folios down
> too.
>
> Protocols that haven't been converted to handle MSG_SPLICE_PAGES yet should
> just ignore it and do a normal sendmsg() for now - although that may be a
> bit slower as it may copy everything.
Reviewed-by: Jakub Kicinski <kuba@...nel.org>
Powered by blists - more mailing lists