net: add __sock_wfree() helper
authorEric Dumazet <edumazet@google.com>
Mon, 2 May 2016 17:56:27 +0000 (10:56 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 3 May 2016 20:02:36 +0000 (16:02 -0400)
commit1d2077ac0165c0d173a2255e37cf4dc5033d92c7
treefc18bebb7e5ffe2109fd61c56230c5f47d5f313b
parente34b1638d02bef8c3278af30ee73077c5babc082
net: add __sock_wfree() helper

Hosts sending lot of ACK packets exhibit high sock_wfree() cost
because of cache line miss to test SOCK_USE_WRITE_QUEUE

We could move this flag close to sk_wmem_alloc but it is better
to perform the atomic_sub_and_test() on a clean cache line,
as it avoid one extra bus transaction.

skb_orphan_partial() can also have a fast track for packets that either
are TCP acks, or already went through another skb_orphan_partial()

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sock.h
net/core/sock.c
net/ipv4/tcp_output.c