Subject: Re: [PATCH] support for large number of network devices.

From: Ben Greear <[email-masked]>
Date: Tue, 13 Jan 2004 17:55:32 -0800

Stephen Hemminger wrote:
> On Tue, 13 Jan 2004 16:23:25 -0800
> Ben Greear <[email-masked]> wrote:
> 
> 
>>Stephen Hemminger wrote:
>>
>>>When using pseudo network devices, and really big machines; there is
>>>sometimes a need to have a lot of network devices.  This replaces the
>>>existing 2.6.1 limit of 100 entries an was O(n^2)
>>>with a algorithm that will handle up to 32768 entries with O(n) behaviour.
>>
>>Might be a good time to put in hash tables to find network devices by
>>name and by device-id.  There are a few parts of the networking stack
>>that do lookups, and walking the device list when it's 4k entries
>>long takes a while...
> 
> 
> I have a patch for name hashing, but don't know if it's needed.
> Even without it I can add 9 thousand bridge entries,
> and each one takes longer to start the command than add the entry now. 

Check out the af_packet code.  At least some branches do a
device lookup by name for each transmitted packet.  One
method is:  packet_sendmsg_spkt

packet_sendmsg gets by index, which could also be hashed...

At one time ifconfig -a was almost un-usable with large numbers
of devices, but I think it has been improved.  I haven't tried on
large numbers of devices lately...

-- 
Ben Greear <[email-masked]>
Candela Technologies Inc  http://www.candelatech.com