tcp: avoid indirect calls to sock_rfree
authorEric Dumazet <edumazet@google.com>
Mon, 15 Nov 2021 19:02:45 +0000 (11:02 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 16 Nov 2021 13:10:35 +0000 (13:10 +0000)
commit3df684c1a3d08a4f649689053a3d527b3b5fda9e
tree17d2c3b3f8b711561fd2317d83a365c8d24301e8
parentb96c51bd3bd826a3391cbf4b1281a1e0bf9df90a
tcp: avoid indirect calls to sock_rfree

TCP uses sk_eat_skb() when skbs can be removed from receive queue.
However, the call to skb_orphan() from __kfree_skb() incurs
an indirect call so sock_rfee(), which is more expensive than
a direct call, especially for CONFIG_RETPOLINE=y.

Add tcp_eat_recv_skb() function to make the call before
__kfree_skb().

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp.c