Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Oct 2005 22:19:34 +1300
From:      Andrew Thompson <thompsa@freebsd.org>
To:        Gleb Smirnoff <glebius@FreeBSD.org>, yar@FreeBSD.org, ru@FreeBSD.org, freebsd-net@freebsd.org
Subject:   Re: vlan patch
Message-ID:  <20051020091934.GA50908@heff.fud.org.nz>
In-Reply-To: <20051020070054.GZ59364@cell.sick.ru>
References:  <20051019102559.GA45909@heff.fud.org.nz> <20051020070054.GZ59364@cell.sick.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Oct 20, 2005 at 11:00:54AM +0400, Gleb Smirnoff wrote:
>   Andrew,
> 
> On Wed, Oct 19, 2005 at 11:25:59PM +1300, Andrew Thompson wrote:
> A> It has always bugged me how the vlan code traverses the linked-list for
> A> each incoming packet to find the right ifvlan, I have this patch which
> A> attempts to fix this.
> A>   
> A> What it does is replace the linear search for the vlan with a constant
> A> time lookup. It does this by allocating an array for each vlan enabled
> A> parent interface so the tag can be directly indexed.
> A>   
> A> This has an overhead of ~16kb on 32bit, this is not too bad as there is
> A> usually only one physical interface when using a large number of vlans.
> A>   
> A> I have measured a 1.6% pps increase with 100 vlans, and 8% with 500, and
> A> yes, some people use this many in production.
> A>   
> A> It also has the benefit of enforcing unique vlan tags per parent which   
> A> the current code doesn't do.
> 
> Although the memory overhead is not noticable on modern i386 and amd64
> PCs I don't think that we should waste so much memory. We should keep
> in mind the existence of embedded architectures with little memory.
> 

I agree. Did you see the revised patch that sets a threshold before
allocating the memory? do you think thats sufficient?


Andrew



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051020091934.GA50908>