Skip site navigation (1)Skip section navigation (2)
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>