Files
twx-linux/include/net
Eric Dumazet 3b24d854cb tcp/dccp: do not touch listener sk_refcnt under synflood
When a SYNFLOOD targets a non SO_REUSEPORT listener, multiple
cpus contend on sk->sk_refcnt and sk->sk_wmem_alloc changes.

By letting listeners use SOCK_RCU_FREE infrastructure,
we can relax TCP_LISTEN lookup rules and avoid touching sk_refcnt

Note that we still use SLAB_DESTROY_BY_RCU rules for other sockets,
only listeners are impacted by this change.

Peak performance under SYNFLOOD is increased by ~33% :

On my test machine, I could process 3.2 Mpps instead of 2.4 Mpps

Most consuming functions are now skb_set_owner_w() and sock_wfree()
contending on sk->sk_wmem_alloc when cooking SYNACK and freeing them.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-04-04 22:11:20 -04:00
..
…
…
…
…
…
…
…
…
2016-03-18 23:14:15 -04:00
2015-11-18 16:17:38 -05:00
…
…
2016-03-01 16:07:29 -05:00
…
…
2015-09-17 17:18:37 -07:00
…
…
…
2016-02-16 20:21:48 -05:00
…
…
…
…
…
…
…
…
2016-03-10 14:42:03 -05:00
…
…
…
…
…
2016-02-21 22:00:28 -05:00
…
…
2015-10-23 06:26:42 -07:00
…
…
…
…
…
2016-03-23 22:09:58 -04:00
2016-03-11 12:04:37 -05:00
…
…
…
…
…
…
2016-04-04 22:11:19 -04:00
…
…
2015-10-26 22:24:22 -07:00
2016-04-04 22:11:19 -04:00
…
2016-03-21 13:30:02 -04:00
…
…
…