[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20090331100231.7e7964eb@nehalam>
Date: Tue, 31 Mar 2009 10:02:31 -0700
From: Stephen Hemminger <shemminger@...tta.com>
To: Jeremy Jackson <jerj@...lanar.net>
Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: keeping ifindex in 16bits or does it have to be sparse?
On Tue, 31 Mar 2009 11:08:17 -0400
Jeremy Jackson <jerj@...lanar.net> wrote:
> The question came up when profiling Quagga... a performance issue occurs
> because it's iterating over a linked list of interface structures... and
> this person is using 2000 interfaces for ADSL PPPoE server. It's an
> interesting use case.
>
> There are 2 options to make the interface lookup in quagga scale: array
> or hash. My first thought was array, but it seems that ifindex can get
> sparse, that is, the largest ifindex can be much bigger (eg 408589) the
> number of max number of interfaces.
>
> So question to netdev, is it possible to reuse ifindex eventually, so it
> won't keep growing with interface add/delete, and are there
> (unnecessary) large jumps in the allocation sequence?
>
Hash the names as well, since quagga does a lot of lookup by name.
--
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