[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20081106.222323.230548519.davem@davemloft.net>
Date: Thu, 06 Nov 2008 22:23:23 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: yavor@...plifymedia.com
Cc: netdev@...r.kernel.org
Subject: Re: [Patch] Establishing more than 64K outgoing TCP connections
From: Yavor Goulishev <yavor@...plifymedia.com>
Date: Fri, 7 Nov 2008 01:12:36 -0500
> I see that you want to access the hash table in O(1) and
> you try to get a port number at empty bucket. This is clever.
> However having hash table size 65536 and hash function just the port number can
> work only for 64K binds, right? If I need more they need to go in the chains.
>
> So may be having a better hash function and configurable table size (/proc/sys/net/...)
> can work without limitation and with good performance.
> For example:
> hash_fn = (port + local_ip) % size
All you have to preserve is that the hash distribution is evenly
spread. That is what your patch violated. I'm not asking for O(1)
access, I'm asking for O(num_ports_bound / hash_table_size) access.
Trying to solve all other kinds of issues just distracts from the
core issue.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists