Eric Dumazet
f161048060
net: use indirect call wrappers for skb_copy_datagram_iter()
...
commit 29f3490ba9d2399d3d1b20c4aa74592d92bd4e11 upstream.
TCP recvmsg() calls skb_copy_datagram_iter(), which
calls an indirect function (cb pointing to simple_copy_to_iter())
for every MSS (fragment) present in the skb.
CONFIG_RETPOLINE=y forces a very expensive operation
that we can avoid thanks to indirect call wrappers.
This patch gives a 13% increase of performance on
a single flow, if the bottleneck is the thread reading
the TCP socket.
Fixes: 950fcaecd5 ("datagram: consolidate datagram copy to iter helpers")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Paolo Abeni <pabeni@redhat.com>
Acked-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-05-02 08:49:00 +02:00
..
6lowpan
9p
802
8021q
vlan: vlan_changelink() should propagate errors
2020-01-12 12:21:50 +01:00
appletalk
atm
ax25
batman-adv
batman-adv: Don't schedule OGM for disabled interface
2020-03-18 07:17:54 +01:00
bluetooth
Bluetooth: RFCOMM: fix ODEBUG bug in rfcomm_dev_ioctl
2020-04-13 10:48:13 +02:00
bpf
bpfilter
net/bpfilter: remove superfluous testing message
2020-04-21 09:04:53 +02:00
bridge
net: add bool confirm_neigh parameter for dst_ops.update_pmtu
2020-01-04 19:18:58 +01:00
caif
can
can: j1939: j1939_sk_bind(): take priv after lock is held
2019-12-31 16:45:56 +01:00
ceph
libceph: fix alloc_msg_with_page_vector() memory leaks
2020-04-02 15:11:02 +02:00
core
net: use indirect call wrappers for skb_copy_datagram_iter()
2020-05-02 08:49:00 +02:00
dcb
dccp
decnet
net: add bool confirm_neigh parameter for dst_ops.update_pmtu
2020-01-04 19:18:58 +01:00
dns_resolver
KEYS: Don't write out to userspace while holding key semaphore
2020-04-23 10:36:45 +02:00
dsa
net: dsa: tag_8021q: replace dsa_8021q_remove_header with __skb_vlan_pop
2020-04-01 11:01:34 +02:00
ethernet
net: add annotations on hh->hh_len lockless accesses
2020-01-09 10:20:06 +01:00
hsr
hsr: check protocol version in hsr_newlink()
2020-04-21 09:04:44 +02:00
ieee802154
nl802154: add missing attribute validation for dev_type
2020-03-18 07:17:44 +01:00
ife
ipv4
xfrm: Always set XFRM_TRANSFORMED in xfrm{4,6}_output_finish
2020-04-29 16:33:11 +02:00
ipv6
xfrm: Always set XFRM_TRANSFORMED in xfrm{4,6}_output_finish
2020-04-29 16:33:11 +02:00
iucv
kcm
key
l2tp
l2tp: Allow management of tunnels and session in user namespace
2020-04-21 09:04:44 +02:00
l3mdev
lapb
llc
llc2: Fix return statement of llc_stat_ev_rx_null_dsap_xid_c (and _test_c)
2020-01-12 12:21:45 +01:00
mac80211
mac80211: fix channel switch trigger from unknown mesh peer
2020-05-02 08:48:58 +02:00
mac802154
mpls
ncsi
netfilter
netfilter: nat: fix error handling upon registering inet hook
2020-05-02 08:48:52 +02:00
netlabel
netlink
netlink: Use netlink header as base to calculate bad attribute offset
2020-03-18 07:17:40 +01:00
netrom
net: netrom: Fix potential nr_neigh refcnt leak in nr_add_node
2020-04-29 16:33:08 +02:00
nfc
nfc: add missing attribute validation for vendor subcommand
2020-03-18 07:17:46 +01:00
nsh
openvswitch
net: openvswitch: ovs_ct_exit to be done under ovs_lock
2020-04-29 16:33:08 +02:00
packet
net/packet: tpacket_rcv: avoid a producer race condition
2020-04-01 11:01:35 +02:00
phonet
psample
qrtr
net: qrtr: send msgs from local of same id as broadcast
2020-04-21 09:04:47 +02:00
rds
rfkill
rfkill: Fix incorrect check to avoid NULL pointer dereference
2020-01-12 12:21:33 +01:00
rose
rxrpc
rxrpc: Fix DATA Tx to disable nofrag for UDP on AF_INET6 socket
2020-05-02 08:48:47 +02:00
sched
sched: etf: do not assume all sockets are full blown
2020-04-29 16:33:09 +02:00
sctp
inet_diag: return classid for all socket types
2020-03-18 07:17:38 +01:00
smc
net/smc: cancel event worker during device removal
2020-03-18 07:17:59 +01:00
strparser
sunrpc
svcrdma: Fix leak of svc_rdma_recv_ctxt objects
2020-05-02 08:48:48 +02:00
switchdev
tipc
tipc: add missing attribute validation for MTU property
2020-03-18 07:17:45 +01:00
tls
net/tls: Fix to avoid gettig invalid tls record
2020-03-05 16:43:32 +01:00
unix
af_unix: add compat_ioctl support
2020-01-17 19:48:52 +01:00
vmw_vsock
hv_sock: Remove the accept port restriction
2020-02-14 16:34:07 -05:00
wimax
wireless
nl80211: fix NL80211_ATTR_FTM_RESPONDER policy
2020-04-21 09:04:59 +02:00
x25
net/x25: Fix x25_neigh refcnt leak when receiving frame
2020-04-29 16:33:09 +02:00
xdp
xsk: Add missing check on user supplied headroom size
2020-04-23 10:36:21 +02:00
xfrm
xfrm: policy: Fix doulbe free in xfrm_policy_timer
2020-04-01 11:02:07 +02:00
compat.c
Kconfig
net: Fix CONFIG_NET_CLS_ACT=n and CONFIG_NFT_FWD_NETDEV={y, m} build
2020-04-01 11:02:18 +02:00
Makefile
socket.c
compat_ioctl: handle SIOCOUTQNSD
2020-01-17 19:48:52 +01:00
sysctl_net.c