As promised in last patch series, we implement a better SO_REUSEPORT strategy, based on cpu hints if given 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 | 10 +++++++--- 16 files changed, 72 insertions(+), 41 deletions(-) -- 2.6.0.rc2.230.g3dd15c0 -- 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