netdev
[Top] [All Lists]

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

To: Stephen Hemminger <shemminger@xxxxxxxx>, "'netdev@xxxxxxxxxxx'" <netdev@xxxxxxxxxxx>
Subject: Re: [PATCH] support for large number of network devices.
From: Ben Greear <greearb@xxxxxxxxxxxxxxx>
Date: Tue, 13 Jan 2004 17:55:32 -0800
In-reply-to: <20040113163828.64ec4743.shemminger@osdl.org>
Organization: Candela Technologies
References: <20040113154610.38f5934c.shemminger@osdl.org> <40048BFD.4010303@candelatech.com> <20040113163828.64ec4743.shemminger@osdl.org>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031007
Stephen Hemminger wrote:
On Tue, 13 Jan 2004 16:23:25 -0800
Ben Greear <greearb@xxxxxxxxxxxxxxx> 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 <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc  http://www.candelatech.com



<Prev in Thread] Current Thread [Next in Thread>