Date: Wed, 17 Jun 2009 07:39:12 -0700 (PDT) From: Barney Cordoba <barney_cordoba@yahoo.com> To: freebsd-net@FreeBSD.org, Michael <freebsdusb@bindone.de> Subject: Re: kern/135222: [igb] low speed routing between two igb interfaces Message-ID: <714551.8026.qm@web63902.mail.re1.yahoo.com>
next in thread | raw e-mail | index | archive | help
=0A=0A--- On Fri, 6/12/09, Michael <freebsdusb@bindone.de> wrote:=0A=0A> Fr= om: Michael <freebsdusb@bindone.de>=0A> Subject: Re: kern/135222: [igb] low= speed routing between two igb interfaces=0A> To: freebsd-net@FreeBSD.org= =0A> Date: Friday, June 12, 2009, 5:50 AM=0A> The following reply was made = to PR=0A> kern/135222; it has been noted by GNATS.=0A> =0A> From: Michael <= freebsdusb@bindone.de>=0A> To: Cc: freebsd-gnats-submit@FreeBSD.org=0A> Sub= ject: Re: kern/135222: [igb] low speed routing between=0A> two igb interfac= es=0A> Date: Fri, 12 Jun 2009 11:45:47 +0200=0A> =0A> The original poster = reported that the suggested fix works=0A> for him:=0A> ---=0A> Hello Mich= ael,=0A> =0A> Thank you. It's working.=0A> =0A> I consider it necessary= to put this into the release=0A> errata.=0A> =0A> =0A> Mishustin Andrew= wrote:=0A> >> Number:=A0 =A0 =A0=0A> =A0=A0=A0135222=0A> >> Category:=A0= =A0 =A0=A0=A0kern=0A> >> Synopsis:=A0 =A0 =A0=A0=A0[igb]=0A> low speed ro= uting between two igb interfaces=0A> >> Confidential:=A0=A0=A0no=0A> >> S= everity:=A0 =A0 =A0=A0=A0serious=0A> >> Priority:=A0 =A0 =A0=A0=A0medium= =0A> >> Responsible:=A0 =A0 freebsd-bugs=0A> >> State:=A0 =A0 =A0 =A0 =A0= open=0A> >> Quarter:=A0 =A0 =A0 =A0 =0A> >> Keywords:=A0 =A0 =A0=A0=A0= =0A> >> Date-Required:=0A> >> Class:=A0 =A0 =A0 =A0 =A0 sw-bug=0A> >> Su= bmitter-Id:=A0=A0=A0current-users=0A> >> Arrival-Date:=A0=A0=A0Wed Jun 03= =0A> 18:30:01 UTC 2009=0A> >> Closed-Date:=0A> >> Last-Modified:=0A> >> = Originator:=A0 =A0=A0=A0Mishustin=0A> Andrew=0A> >> Release:=A0 =A0 =A0 = =A0 FreeBSD=0A> 7.1-RELEASE amd64, FreeBSD 7.2-RELEASE amd64=0A> >> Organi= zation:=0A> > HNT=0A> >> Environment:=0A> > FreeBSD test.hnt 7.2-RELEASE= FreeBSD 7.2-RELEASE #12:=0A> Thu Apr 30 18:28:15 MSD 20=0A> > 09=A0 =A0= =A0=A0admin@test.hnt:/usr/src/sys/amd64/compile/GENERIC=A0=0A> amd64=0A> >= > Description:=0A> > I made a FreeBSD multiprocesor server to act as=0A> s= imple gateway.=0A> > It use onboard Intel 82575EB Dual-Port Gigabit=0A> Et= hernet Controller.=0A> > I observe traffic speed near 400 Kbit/s.=0A> > I= test both interfaces separately -=0A> > ftp client work at speed near 1 G= bit/s in both=0A> directions.=0A> > Then I change NIC to old Intel "em" NI= C - gateway=0A> work at speed near 1 Gbit/s.=0A> > =0A> > Looks like a bu= g in igb driver have an effect upon=0A> forwarded traffic.=0A> > =0A> > I= f you try=0A> > hw.igb.enable_aim=3D0=0A> > The speed is near 1 Mbit/s=0A= > > =0A> > hw.igb.rxd, hw.igb.txd, "ifconfig -tso" has no=0A> effect.=0A>= > =0A> > Nothing in messages.log=0A> > =0A> > netstat -m=0A> > 516/16= 74/2190 mbufs in use (current/cache/total)=0A> > 515/927/1442/66560 mbuf c= lusters in use=0A> (current/cache/total/max)=0A> > 515/893 mbuf+clusters o= ut of packet secondary zone in=0A> use (current/cache)=0A> > 0/44/44/33280= 4k (page size) jumbo clusters in use=0A> (current/cache/total/max)=0A> > = 0/0/0/16640 9k jumbo clusters in use=0A> (current/cache/total/max)=0A> > 0= /0/0/8320 16k jumbo clusters in use=0A> (current/cache/total/max)=0A> > 11= 59K/2448K/3607K bytes allocated to network=0A> (current/cache/total)=0A> >= 0/0/0 requests for mbufs denied=0A> (mbufs/clusters/mbuf+clusters)=0A> > = 0/0/0 requests for jumbo clusters denied (4k/9k/16k)=0A> > 0/0/0 sfbufs in= use (current/peak/max)=0A> > 0 requests for sfbufs denied=0A> > 0 reques= ts for sfbufs delayed=0A> > 0 requests for I/O initiated by sendfile=0A> = > 0 calls to protocol drain routines=0A> > =0A> > I use only IPv4 traffic= .=0A> > =0A> >> How-To-Repeat:=0A> > On machine with two igb interfaces= =0A> > use rc.conf like this:=0A> > =0A> > hostname=3D"test.test"=0A> >= gateway_enable=3D"YES"=0A> > ifconfig_igb0=3D"inet 10.10.10.1/24"=0A> > = ifconfig_igb1=3D"inet 10.10.11.1/24"=0A> > =0A> > And try create heavy tr= affic between two networks.=0A> >> Fix:=0A> > =0A> > =0A> >> Release-No= te:=0A> >> Audit-Trail:=0A> >> Unformatted:=0A> > ______________________= _________________________=0A> > freebsd-bugs@freebsd.org=0A=0A=0AThis is n= ot a bug. Unless you consider poorly written drivers to be bugs. You need t= o provide your tuning parameters for the card as well otherwise there's not= hing to learn.=0A=0AThe issue is that the driver doesn't address the purpos= e of the controller; which is to utilize multiprocessor systems more effect= ively. The effect is that lock contention actually makes things worse than = if you just use a single task as em does. Until the multiqueue drivers are = re-written to manage locks properly you are best advised to save your money= and stick with em.=0A=0AYou should get similar performance using 1 queue a= s with em. You could also force legacy configuration by forcing igb_setup_m= six to return 0. Sadly, this is the best performance you will get from the = stock driver.=0A=0ABarney=0A=0ABarney=0A=0A=0A
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?714551.8026.qm>