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

Reply via email to