summaryrefslogtreecommitdiffstats
path: root/include/net/switchdev.h
diff options
context:
space:
mode:
authorEric Dumazet2015-10-02 20:43:39 +0200
committerDavid S. Miller2015-10-03 13:32:46 +0200
commite994b2f0fb9229aeff5eea9541320bd7b2ca8714 (patch)
tree0caf05649d27830ba0f9548704abbb1ec4b5bb91 /include/net/switchdev.h
parenttcp/dccp: add a reschedule point in inet_csk_listen_stop() (diff)
downloadkernel-qcow2-linux-e994b2f0fb9229aeff5eea9541320bd7b2ca8714.tar.gz
kernel-qcow2-linux-e994b2f0fb9229aeff5eea9541320bd7b2ca8714.tar.xz
kernel-qcow2-linux-e994b2f0fb9229aeff5eea9541320bd7b2ca8714.zip
tcp: do not lock listener to process SYN packets
Everything should now be ready to finally allow SYN packets processing without holding listener lock. Tested: 3.5 Mpps SYNFLOOD. Plenty of cpu cycles available. Next bottleneck is the refcount taken on listener, that could be avoided if we remove SLAB_DESTROY_BY_RCU strict semantic for listeners, and use regular RCU. 13.18% [kernel] [k] __inet_lookup_listener 9.61% [kernel] [k] tcp_conn_request 8.16% [kernel] [k] sha_transform 5.30% [kernel] [k] inet_reqsk_alloc 4.22% [kernel] [k] sock_put 3.74% [kernel] [k] tcp_make_synack 2.88% [kernel] [k] ipt_do_table 2.56% [kernel] [k] memcpy_erms 2.53% [kernel] [k] sock_wfree 2.40% [kernel] [k] tcp_v4_rcv 2.08% [kernel] [k] fib_table_lookup 1.84% [kernel] [k] tcp_openreq_init_rwin Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/switchdev.h')
0 files changed, 0 insertions, 0 deletions