linux/net/dccp
Eric Dumazet 079096f103 tcp/dccp: install syn_recv requests into ehash table
In this patch, we insert request sockets into TCP/DCCP
regular ehash table (where ESTABLISHED and TIMEWAIT sockets
are) instead of using the per listener hash table.

ACK packets find SYN_RECV pseudo sockets without having
to find and lock the listener.

In nominal conditions, this halves pressure on listener lock.

Note that this will allow for SO_REUSEPORT refinements,
so that we can select a listener using cpu/numa affinities instead
of the prior 'consistent hash', since only SYN packets will
apply this selection logic.

We will shrink listen_sock in the following patch to ease
code review.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Ying Cai <ycai@google.com>
Cc: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-10-03 04:32:41 -07:00
..
ccids
ackvec.c dccp: drop null test before destroy functions 2015-09-15 16:49:43 -07:00
ackvec.h
ccid.c dccp: drop null test before destroy functions 2015-09-15 16:49:43 -07:00
ccid.h
dccp.h tcp/dccp: constify syn_recv_sock() method sock argument 2015-09-29 16:53:09 -07:00
diag.c sock_diag: specify info_size per inet protocol 2015-06-15 19:49:22 -07:00
feat.c
feat.h
input.c
ipv4.c tcp/dccp: install syn_recv requests into ehash table 2015-10-03 04:32:41 -07:00
ipv6.c tcp/dccp: install syn_recv requests into ehash table 2015-10-03 04:32:41 -07:00
ipv6.h
Kconfig
Makefile
minisocks.c dccp: constify dccp_create_openreq_child() sock argument 2015-09-29 16:53:08 -07:00
options.c
output.c dccp: constify dccp_make_response() socket argument 2015-09-25 13:00:39 -07:00
probe.c
proto.c tcp: fix recv with flags MSG_WAITALL | MSG_PEEK 2015-07-27 01:06:53 -07:00
qpolicy.c
sysctl.c
timer.c