On 08/10/2015 19:33, Eric Dumazet wrote:
As promised in last patch series, we implement a better SO_REUSEPORT
strategy, based on cpu affinities if selected by the application.
We also moved sk_refcnt out of the cache line containing the lookup
keys, as it was considerably slowing down smp operations because
of false sharing. This was simpler than converting listen sockets
to conventional RCU (to avoid sk_refcnt dirtying)
Could process 6.0 Mpps SYN instead of 4.2 Mpps on my test server.
Eric Dumazet (4):
net: SO_INCOMING_CPU setsockopt() support
net: align sk_refcnt on 128 bytes boundary
net: shrink struct sock and request_sock by 8 bytes
tcp: shrink tcp_timewait_sock by 8 bytes
include/linux/tcp.h | 4 ++--
include/net/inet_timewait_sock.h | 2 +-
include/net/request_sock.h | 7 +++----
include/net/sock.h | 41 +++++++++++++++++++++++++++-------------
net/core/sock.c | 5 +++++
net/ipv4/inet_hashtables.c | 2 ++
net/ipv4/syncookies.c | 4 ++--
net/ipv4/tcp_input.c | 2 +-
net/ipv4/tcp_ipv4.c | 2 +-
net/ipv4/tcp_minisocks.c | 18 +++++++++---------
net/ipv4/tcp_output.c | 2 +-
net/ipv4/udp.c | 6 +++++-
net/ipv6/inet6_hashtables.c | 2 ++
net/ipv6/syncookies.c | 4 ++--
net/ipv6/tcp_ipv6.c | 2 +-
net/ipv6/udp.c | 11 +++++++----
16 files changed, 72 insertions(+), 42 deletions(-)
Eric,
Does it make sense to make the listener hash table percpu? Socket with
SO_INCOMING_CPU set could just be add to the hashtable for that specific
cpu.
Thanks,
Grant
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html