igb and ALTQ in 9.1-rc3

Barney Cordoba barney_cordoba at yahoo.com
Thu Apr 4 13:41:37 UTC 2013



--- On Tue, 4/2/13, Adrian Chadd <adrian at freebsd.org> wrote:

> From: Adrian Chadd <adrian at freebsd.org>
> Subject: Re: igb and ALTQ in 9.1-rc3
> To: "Nick Rogers" <ncrogers at gmail.com>
> Cc: "Karim Fodil-Lemelin" <fodillemlinkarim at gmail.com>, "freebsd-net at freebsd.org" <freebsd-net at freebsd.org>
> Date: Tuesday, April 2, 2013, 6:39 PM
> Yes:
> 
> * you need to add it to conf/options - see if there's an
> opt_igb.h to
> add it to, otherwise you'll need to add one;
> * Make sure the driver code includes opt_igb.h;
> * Then make sure you make kernel modules using either make
> buildkernel
> KERNCONF=X, or you set the environment appropriately so the
> build
> scripts can find your kernel build directory (where it
> populates all
> the opt_xxx.h includes) and it'll have this module set.
> 
> Hopefully Jack will do this.
> 
> Yes, we need a better queue management discipline API in the
> kernel.
> Jacks' just falling afoul of the fact we don't have one.
> It's not his
> fault.

That's not true at all. For a bridged system running a firewall or doing
filtering, virtually all of the proper design can be done in 
the ethernet driver. Or course if you have 2 different drivers then you
need a different scheme, but if the input and the output is the same driver
you can manage virtually all of the contention. You can't just randomly
do things; you have to design to minimize lock contention. Drivers that
seem to work fine at low volume blow up quickly as contention increases.

BC


More information about the freebsd-net mailing list