diff options
author | Eric Dumazet <edumazet@google.com> | 2015-10-02 11:43:32 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-10-03 04:32:41 -0700 |
commit | 079096f103faca2dd87342cca6f23d4b34da8871 (patch) | |
tree | fa3fb0fdc064f1611c464384e70a7a402179808f /net/ipv4/tcp_vegas.h | |
parent | 2feda34192a379f8b35a7c6c5826b2f23e884f32 (diff) | |
download | linux-079096f103faca2dd87342cca6f23d4b34da8871.tar.gz linux-079096f103faca2dd87342cca6f23d4b34da8871.tar.bz2 linux-079096f103faca2dd87342cca6f23d4b34da8871.zip |
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>
Diffstat (limited to 'net/ipv4/tcp_vegas.h')
0 files changed, 0 insertions, 0 deletions