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>