Re: [RFC PATCH v2 48/48] sock: Remove ->sendpage*() in favour of sendmsg(MSG_SPLICE_PAGES)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/29/23 16:13, David Howells wrote:
[!] Note: This is a work in progress.  At the moment, some things won't
     build if this patch is applied.  nvme, kcm, smc, tls.

Remove ->sendpage() and ->sendpage_locked().  sendmsg() with
MSG_SPLICE_PAGES should be used instead.  This allows multiple pages and
multipage folios to be passed through.

Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
Acked-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> # for net/can
cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
cc: Eric Dumazet <edumazet@xxxxxxxxxx>
cc: Jakub Kicinski <kuba@xxxxxxxxxx>
cc: Paolo Abeni <pabeni@xxxxxxxxxx>
cc: Jens Axboe <axboe@xxxxxxxxx>
cc: Matthew Wilcox <willy@xxxxxxxxxxxxx>
cc: bpf@xxxxxxxxxxxxxxx
cc: dccp@xxxxxxxxxxxxxxx
cc: linux-afs@xxxxxxxxxxxxxxxxxxx
cc: linux-arm-msm@xxxxxxxxxxxxxxx
cc: linux-can@xxxxxxxxxxxxxxx
cc: linux-crypto@xxxxxxxxxxxxxxx
cc: linux-doc@xxxxxxxxxxxxxxx
cc: linux-hams@xxxxxxxxxxxxxxx
cc: linux-kernel@xxxxxxxxxxxxxxx
cc: linux-rdma@xxxxxxxxxxxxxxx
cc: linux-sctp@xxxxxxxxxxxxxxx
cc: linux-wpan@xxxxxxxxxxxxxxx
cc: linux-x25@xxxxxxxxxxxxxxx
cc: mptcp@xxxxxxxxxxxxxxx
cc: netdev@xxxxxxxxxxxxxxx
cc: rds-devel@xxxxxxxxxxxxxx
cc: tipc-discussion@xxxxxxxxxxxxxxxxxxxxx
cc: virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
---
  Documentation/networking/scaling.rst |   4 +-
  crypto/af_alg.c                      |  29 ------
  crypto/algif_aead.c                  |  22 +----
  crypto/algif_rng.c                   |   2 -
  crypto/algif_skcipher.c              |  14 ---
  include/linux/net.h                  |   8 --
  include/net/inet_common.h            |   2 -
  include/net/sock.h                   |   6 --
  net/appletalk/ddp.c                  |   1 -
  net/atm/pvc.c                        |   1 -
  net/atm/svc.c                        |   1 -
  net/ax25/af_ax25.c                   |   1 -
  net/caif/caif_socket.c               |   2 -
  net/can/bcm.c                        |   1 -
  net/can/isotp.c                      |   1 -
  net/can/j1939/socket.c               |   1 -
  net/can/raw.c                        |   1 -
  net/core/sock.c                      |  35 +------
  net/dccp/ipv4.c                      |   1 -
  net/dccp/ipv6.c                      |   1 -
  net/ieee802154/socket.c              |   2 -
  net/ipv4/af_inet.c                   |  21 ----
  net/ipv4/tcp.c                       |  34 -------
  net/ipv4/tcp_bpf.c                   |  21 +---
  net/ipv4/tcp_ipv4.c                  |   1 -
  net/ipv4/udp.c                       |  22 -----
  net/ipv4/udp_impl.h                  |   2 -
  net/ipv4/udplite.c                   |   1 -
  net/ipv6/af_inet6.c                  |   3 -
  net/ipv6/raw.c                       |   1 -
  net/ipv6/tcp_ipv6.c                  |   1 -
  net/key/af_key.c                     |   1 -
  net/l2tp/l2tp_ip.c                   |   1 -
  net/l2tp/l2tp_ip6.c                  |   1 -
  net/llc/af_llc.c                     |   1 -
  net/mctp/af_mctp.c                   |   1 -
  net/mptcp/protocol.c                 |   2 -
  net/netlink/af_netlink.c             |   1 -
  net/netrom/af_netrom.c               |   1 -
  net/packet/af_packet.c               |   2 -
  net/phonet/socket.c                  |   2 -
  net/qrtr/af_qrtr.c                   |   1 -
  net/rds/af_rds.c                     |   1 -
  net/rose/af_rose.c                   |   1 -
  net/rxrpc/af_rxrpc.c                 |   1 -
  net/sctp/protocol.c                  |   1 -
  net/socket.c                         |  48 ---------
  net/tipc/socket.c                    |   3 -
  net/unix/af_unix.c                   | 139 ---------------------------
  net/vmw_vsock/af_vsock.c             |   3 -
  net/x25/af_x25.c                     |   1 -
  net/xdp/xsk.c                        |   1 -
  52 files changed, 9 insertions(+), 447 deletions(-)

Weelll ... what happens to consumers of kernel_sendpage()?
(Let's call them nvme ...)
Should they be moved over, too?

Or what is the general consensus here?

(And what do we do with TLS? It does have a ->sendpage() version, too ...)

Cheers,

Hannes




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux