Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Aug 2009 15:16:06 -0700 (PDT)
From:      Barney Cordoba <barney_cordoba@yahoo.com>
To:        freebsd-net@freebsd.org, Manish Vachharajani <manishv@lineratesystems.com>
Subject:   Re: Dropped vs. missed packets in the ixgbe driver
Message-ID:  <373149.52091.qm@web63907.mail.re1.yahoo.com>
In-Reply-To: <5bc218350908171524m5a46c3dbm3e6af625c51370d0@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
=0A=0A--- On Mon, 8/17/09, Manish Vachharajani <manishv@lineratesystems.com=
> wrote:=0A=0A> From: Manish Vachharajani <manishv@lineratesystems.com>=0A>=
 Subject: Dropped vs. missed packets in the ixgbe driver=0A> To: freebsd-ne=
t@freebsd.org=0A> Date: Monday, August 17, 2009, 6:24 PM=0A> I've been doin=
g some performance=0A> testing on freebsd 7.2 and noticed=0A> that the ixgb=
e driver does not report missed packets as=0A> dropped when=0A> queried via=
 netstat -id (the ixgbe driver in the 8.0=A0=0A> beta has a=0A> similar iss=
ue).=A0 A missed packet is a packet that was=0A> correctly=0A> received by =
the NIC but because it was out of descriptors=0A> and internal=0A> memory, =
the packet had to be dropped by the NIC itself -- a=0A> hardware=0A> regist=
er counts such events.=A0 Instead the driver only=0A> reports drops=0A> tha=
t are due to the driver itself, i.e., the NIC DMAed the=0A> packet to=0A> m=
emory but the driver had to drop something because it was=0A> out of=0A> mb=
ufs.=A0 Is the miss count reported elsewhere (besides=0A> via a kernel=0A> =
printf from the driver)?=A0 At the end of the email I=0A> give a stats dump=
=0A> from the driver and from netstat, note the number of=0A> packets dropp=
ed=0A> is 0 as reported by netstat but the Missed field in the=0A> dmesg ou=
tput=0A> shows many missed packets.=0A> =0A> >From my perspective, it is di=
sconcerting to see=0A> performance=0A> degradation on the link, along with =
TCP ack retransmits,=0A> packet=0A> reordering, etc. (on a point-to-point l=
ink with no switch=0A> in between)=0A> but then see no drops reported by ne=
tstat because the=0A> driver didn't=0A> drop the packet, the NIC did.=A0 Th=
e fix should be=0A> straight-forward and=0A> I'll gladly make a patch assum=
ing that it is indeed a bug=0A> and not a=0A> conscious design choice.=0A> =
=0A> Here is the relevant netstat output=0A> =0A> Name=A0 =A0 Mtu Network=
=A0 =A0=0A> =A0=A0=A0Address=A0 =A0 =A0 =A0 =A0=0A> =A0 =A0 Ipkts Ierrs=A0 =
=A0 Opkts=0A> Oerrs=A0 Coll Drop=0A> ix0=A0 =A0 1500 <Link#1>=A0 =A0 =A0=0A=
> 00:30:48:94:60:ec=A0 =A0 =A0 =A0 0=A0=0A> =A0=A0=A00=A0 =A0 =A0 =A0 1=0A>=
  0=A0 =A0=A0=A00=A0 =A0 0=0A> ix0=A0 =A0 1500 192.168.105.0 192.168.105.2=
=A0=0A> =A0 =A0 =A0 =A0 =A0 0=A0=0A> =A0=A0=A0-=A0 =A0 =A0 =A0 0=0A>  -=A0 =
=A0=A0=A0-=A0 =A0 -=0A> ix1=A0 =A0 1500 <Link#2>=A0 =A0 =A0=0A> 00:30:48:94=
:60:ed=A0 =A0 =A0 11M=A0=0A> =A0=A0=A00=A0 =A0=A0=A06.1M=0A>  0=A0 =A0=A0=
=A00=A0 =A0 0=0A> ix1=A0 =A0 1500=0A> 192.168.5.0=A0=A0=A0192.168.5.2=A0 =
=A0 =A0=0A> =A0 =A0 =A0 10M=A0 =A0=A0=A0-=A0=0A> =A0=A0=A06.1M=0A>  -=A0 =
=A0=A0=A0-=A0 =A0 -=0A> =0A> And here is the dmesg output after doing a sys=
ctl=0A> dev.ix.1.stats=3D1=0A> =0A> ix1: Std Mbuf Failed =3D 0=0A> ix1: Mis=
sed Packets =3D 413872=0A> ix1: Receive length errors =3D 0=0A> ix1: Crc er=
rors =3D 0=0A> ix1: Driver dropped packets =3D 0=0A> ix1: watchdog timeouts=
 =3D 0=0A> ix1: XON Rcvd =3D 616428212235=0A> ix1: XON Xmtd =3D 0=0A> ix1: =
XOFF Rcvd =3D 616428212235=0A> ix1: XOFF Xmtd =3D 0=0A> ix1: Total Packets =
Rcvd =3D 12424533=0A> ix1: Good Packets Rcvd =3D 12010661=0A> ix1: Good Pac=
kets Xmtd =3D 6419128=0A> ix1: TSO Transmissions =3D 0=0A> =0A> Manish=0A=
=0Athe debug sysctl show more interesting info. Don't get too excited=0Aabo=
ut doing performance testing with that driver. Its not designed=0Ato be any=
 higher in performance than any of the other intel drivers.=0A=0ABarney=0A=
=0A=0A      



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