This patch set adds a 2nd listener hashtable. It is to resolve the performance issue when a process is listening at many IP addresses with the same port (e.g. [IP1]:443, [IP2]:443... [IPN]:443)
Martin KaFai Lau (4): inet: Add a count to struct inet_listen_hashbucket udp: Move udp[46]_portaddr_hash() to net/ip[v6].h inet: Add a 2nd listener hashtable (port+addr) tcp: Enable 2nd listener hashtable in TCP include/net/inet_connection_sock.h | 1 + include/net/inet_hashtables.h | 16 ++++ include/net/ip.h | 9 ++ include/net/ipv6.h | 17 ++++ net/ipv4/inet_hashtables.c | 180 +++++++++++++++++++++++++++++++++++-- net/ipv4/tcp.c | 3 + net/ipv4/udp.c | 22 ++--- net/ipv6/inet6_hashtables.c | 73 +++++++++++++++ net/ipv6/udp.c | 32 ++----- 9 files changed, 307 insertions(+), 46 deletions(-) -- 2.9.5