igb and ALTQ in 9.1-rc3

Barney Cordoba barney_cordoba at yahoo.com
Thu Apr 4 13:24:44 UTC 2013


Firstly, my OP was not intended to have anything to do with Jack. 
Frankly, he's just a mechanical programmer and not a designer, so its 
others that should be responsible for guiding him. There *should* be
someone at FreeBSD who is responsible for taking mechanically sound drivers
and optimizing them. But in the open source world, that function doesn't
usually exist. 

But the idea that the FreeBSD community refuses to point out that some
things just don't work well hurts people in the community. The portrayal
of every feature in FreeBSD as being equally useful and well done doesn't
provide the information that users need to make decisions about what to
use to run their businesses. 

It also hurts people that you've made IGB worse in FreeBSD 9. There's 
*some* expectation that it should be better in 9 than 7 or 8, and that it
should have fewer bugs. But in an effort to force in a rickety
implementation of multi-queue, you've converted the driver into something
that is guaranteed to rob any system of cpu cycles.

I wrote a multiqueue driver for 7 for igb that works very well, and I'd
hoped to be able to use igb in 9 without having to port it, even if it 
wasn't as good. But it's not just not as good; it's unusable in a heavy
production environment.

While it's noble (and convenient) for you folks who have jobs where you
get paid to write open source code to rip others for "not contributing", 
Im sure that some of you with real jobs know that when someone pays you a 
lot of money to write code, you're not free to share the code or even the 
specific techniques publicly. After all, technique is the difference between a good and a bad driver.

I try to drop hints, but Jack's lack of curiosity as to how to make the
driver better is particularly troubling. So I just have to recommend that
igb cards not be used for production flows, because there is little hope
that it will improve any time soon.


BC

--- On Sun, 3/31/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: "Barney Cordoba" <barney_cordoba at yahoo.com>
> Cc: "Jeffrey EPieper" <jeffrey.e.pieper at intel.com>, "Nick Rogers" <ncrogers at gmail.com>, "Clement Hermann (nodens)" <nodens2099 at gmail.com>, "Jack Vogel" <jfvogel at gmail.com>, "freebsd-net at freebsd.org" <freebsd-net at freebsd.org>
> Date: Sunday, March 31, 2013, 2:48 PM
> Barney,
> 
> As much as we'd like it, Jack's full time job involves other
> things
> besides supporting FreeBSD.
> 
> If you want to see it done better, please work with the
> FreeBSD
> developer community and improve the intel driver. No-one is
> stopping
> you from stepping in.
> 
> In fact, this would be _beneficial_ to Jack's work inside
> Intel with
> FreeBSD. If there is more of an active community
> participating with
> the intel drivers and more companies choosing intel hardware
> for
> FreeBSD network services, Intel will likely dump more effort
> into
> FreeBSD.
> 
> So please, stop your non-constructive trolling and
> complaining and put
> your skills to use for the greater good.
> 
> Sheesh. Intel have supplied a very thorough, detailed driver
> as well
> as programming and errata datasheets for their chips. We
> aren't in the
> dark here. There's more than enough rope to hang ourselves
> with.
> Please focus on making it better.
> 
> 
> Adrian
> 
> 
> On 31 March 2013 05:35, Barney Cordoba <barney_cordoba at yahoo.com>
> wrote:
> > The reason that Jack is a no better programmer now than
> he was in 2009 might have something to do with the fact that
> he hides when his work is criticized.
> > Why not release the benchmarks you did while designing
> the igb driver, Jack? Say what,you didn't do any
> benchmarking? How does the default driver perform, say in a
> firewall,with 1000 user load? What's the optimum number of
> queues to use in such a system?What's the effect of CPU
> binding? What's the effect with multiple cards when you
> havemore queues than you have physical cpus?
> > What made you decide to use buf_ring? Something new to
> play with?
> > I'm guessing that you have no idea.
> > BC--- On Fri, 3/29/13, Jack Vogel <jfvogel at gmail.com>
> wrote:
> >
> > From: Jack Vogel <jfvogel at gmail.com>
> > Subject: Re: igb and ALTQ in 9.1-rc3
> > To: "Pieper, Jeffrey E" <jeffrey.e.pieper at intel.com>
> > Cc: "Barney Cordoba" <barney_cordoba at yahoo.com>,
> "Nick Rogers" <ncrogers at gmail.com>,
> "freebsd-net at freebsd.org"
> <freebsd-net at freebsd.org>,
> "Clement Hermann (nodens)" <nodens2099 at gmail.com>
> > Date: Friday, March 29, 2013, 12:36 PM
> >
> > Fortunately, Barney doesn't speak for me, or for Intel,
> and I've long ago realized its pointless to
> > attempt anything like a fair conversation with him. The
> only thing he's ever contributed is slander
> >
> > and pseudo-critique... another poison thread I'm done
> with.
> >
> > Jack
> >
> >
> >
> > On Fri, Mar 29, 2013 at 8:45 AM, Pieper, Jeffrey E
> <jeffrey.e.pieper at intel.com>
> wrote:
> >
> >
> >
> >
> >
> > -----Original Message-----
> >
> > From: owner-freebsd-net at freebsd.org
> [mailto:owner-freebsd-net at freebsd.org]
> On Behalf Of Barney Cordoba
> >
> > Sent: Friday, March 29, 2013 5:51 AM
> >
> > To: Jack Vogel; Nick Rogers
> >
> > Cc: freebsd-net at freebsd.org;
> Clement Hermann (nodens)
> >
> > Subject: Re: igb and ALTQ in 9.1-rc3
> >
> >
> >
> >
> >
> >
> >
> > --- On Thu, 3/28/13, Nick Rogers <ncrogers at gmail.com>
> wrote:
> >
> >
> >
> >> From: Nick Rogers <ncrogers at gmail.com>
> >
> >> Subject: Re: igb and ALTQ in 9.1-rc3
> >
> >> To: "Jack Vogel" <jfvogel at gmail.com>
> >
> >> Cc: "Barney Cordoba" <barney_cordoba at yahoo.com>,
> "Clement Hermann (nodens)" <nodens2099 at gmail.com>,
> "freebsd-net at freebsd.org"
> <freebsd-net at freebsd.org>
> >
> >
> >> Date: Thursday, March 28, 2013, 9:29 PM
> >
> >> On Thu, Mar 28, 2013 at 4:16 PM, Jack
> >
> >> Vogel <jfvogel at gmail.com>
> >
> >> wrote:
> >
> >> > Have been kept fairly busy with other matters,
> one
> >
> >> thing I could do short
> >
> >> > term is
> >
> >> > change the defines in igb the way I did in the
> em
> >
> >> driver so you could still
> >
> >> > define
> >
> >> > the older if_start entry. Right now those are
> based on
> >
> >> OS version and so you
> >
> >> > will
> >
> >> > automatically get if_transmit, but I could
> change it to
> >
> >> be IGB_LEGACY_TX or
> >
> >> > so,
> >
> >> > and that could be defined in the Makefile.
> >
> >> >
> >
> >> > Would this help?
> >
> >>
> >
> >> I'm currently using ALTQ successfully with the em
> driver, so
> >
> >> if igb
> >
> >> behaved the same with respect to using if_start
> instead of
> >
> >> if_transmit
> >
> >> when ALTQ is in play, that would be great. I do
> not
> >
> >> completely
> >
> >> understand the change you propose as I am not very
> familiar
> >
> >> with the
> >
> >> driver internals. Any kind of patch or extra
> >
> >> Makefile/make.conf
> >
> >> definition that would allow me to build a 9-STABLE
> kernel
> >
> >> with an igb
> >
> >> driver that works again with ALTQ, ASAP, would be
> much
> >
> >> appreciated.
> >
> >>
> >
> >> >
> >
> >> > Jack
> >
> >> >
> >
> >> >
> >
> >> >
> >
> >> > On Thu, Mar 28, 2013 at 2:31 PM, Nick Rogers
> <ncrogers at gmail.com>
> >
> >> wrote:
> >
> >> >>
> >
> >> >> On Tue, Dec 11, 2012 at 1:09 AM, Jack
> Vogel <jfvogel at gmail.com>
> >
> >> wrote:
> >
> >> >> > On Mon, Dec 10, 2012 at 11:58 PM,
> Gleb
> >
> >> Smirnoff <glebius at freebsd.org>
> >
> >> >> > wrote:
> >
> >> >> >
> >
> >> >> >> On Mon, Dec 10, 2012 at
> 03:31:19PM -0800,
> >
> >> Jack Vogel wrote:
> >
> >> >> >> J> UH, maybe asking the owner
> of the
> >
> >> driver would help :)
> >
> >> >> >> J>
> >
> >> >> >> J> ... and no, I've never been
> aware of
> >
> >> doing anything to stop
> >
> >> >> >> supporting
> >
> >> >> >> altq
> >
> >> >> >> J> so you wouldn't see any
> commits. If
> >
> >> there's something in the altq
> >
> >> >> >> code
> >
> >> >> >> or
> >
> >> >> >> J> support (which I have
> nothing to do
> >
> >> with) that caused this no-one
> >
> >> >> >> informed
> >
> >> >> >> J> me.
> >
> >> >> >>
> >
> >> >> >> Switching from if_start to
> if_transmit
> >
> >> effectively disables ALTQ
> >
> >> >> >> support.
> >
> >> >> >>
> >
> >> >> >> AFAIR, there is some magic
> implemented in
> >
> >> other drivers that makes them
> >
> >> >> >> modern (that means using
> if_transmit), but
> >
> >> still capable to switch to
> >
> >> >> >> queueing
> >
> >> >> >> mode if SIOCADDALTQ was casted
> upon them.
> >
> >> >> >>
> >
> >> >> >>
> >
> >> >> > Oh, hmmm, I'll look into the matter
> after my
> >
> >> vacation.
> >
> >> >> >
> >
> >> >> > Jack
> >
> >> >>
> >
> >> >> Has there been any progress on resolving
> this
> >
> >> issue? I recently ran
> >
> >> >> into this problem upgrading my servers
> from 8.3 to
> >
> >> 9.1-RELEASE and am
> >
> >> >> wondering what the latest recommendation
> is. I've
> >
> >> used ALTQ and igb
> >
> >> >> successfully for years and it is
> unfortunate it no
> >
> >> longer works.
> >
> >> >> Appreciate any advice.
> >
> >> >>
> >
> >>
> >
> >>Do yourself a favor and either get a cheap dual port
> 82571 card or
> >
> >>2 cards and disable the IGB ports. The igb driver is
> defective, and until
> >
> >>they back out the new, untested multi-queue stuff
> you're just neutering
> >
> >>your system trying to use it.
> >
> >>
> >
> >>Frankly this project made a huge mistake by moving
> forward with multi
> >
> >>queue just for the sake of saying that you support
> it; without having
> >
> >>any credible plan for implementing it. That nonsense
> that Bill Macy did
> >
> >>should have been tarballed up and deposited in the
> trash folder. The
> >
> >>biggest mess in programming history.
> >
> >>
> >
> >>That being said, the solution is not to hack the igb
> driver; its to make
> >
> >>ALTQ if_transmit compatible, which shouldn't be all
> that difficult.
> >
> >>
> >
> >>BC
> >
> >
> >
> > I may be misunderstanding what you are saying, but if
> the solution is, as you say "not to hack the igb driver",
> then how is it defective in this case? Or are you just
> directing vitriol toward Intel? Multi-queue is working fine
> in igb.
> >
> >
> >
> >
> > Jeff
> >
> >
> >
> > _______________________________________________
> >
> > freebsd-net at freebsd.org
> mailing list
> >
> > http://lists.freebsd.org/mailman/listinfo/freebsd-net
> >
> > To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
> >
> > _______________________________________________
> >
> > freebsd-net at freebsd.org
> mailing list
> >
> > http://lists.freebsd.org/mailman/listinfo/freebsd-net
> >
> > To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
> >
> >
> >
> > _______________________________________________
> > freebsd-net at freebsd.org
> mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-net
> > To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
> _______________________________________________
> freebsd-net at freebsd.org
> mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
> 


More information about the freebsd-net mailing list