On Thu, Feb 18, 2010 at 05:05:16PM -0800, Maxim Sobolev wrote: > Folks, > > Indeed, it looks like igb(4) issue. Replacing the card with the > desktop-grade em(4)-supported card has fixed the problem for us. The > system has been happily pushing 110mbps worth of RTP traffic and 2000 > concurrent calls without any problems for two days now. > > e...@pci0:7:0:0: class=0x020000 card=0xa01f8086 chip=0x10d38086 rev=0x00 > hdr=0x00 > vendor = 'Intel Corporation' > class = network > subclass = ethernet > > em0: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0xec00-0xec1f mem > 0xfbee0000-0xfbefffff,0xfbe00000-0xfbe7ffff,0xfbedc000-0xfbedffff irq 24 > at device 0.0 on pci7 > em0: Using MSIX interrupts > em0: [ITHREAD] > em0: [ITHREAD] > em0: [ITHREAD] > em0: Ethernet address: 00:1b:21:50:02:49 > > I really think that this has to be addressed before 7.3 release is out. > FreeBSD used to be famous for its excellent network performance and it's > shame to see that deteriorating due to sub-standard quality drivers. > Especially when there is a multi-billion vendor supporting the driver in > question. No finger pointing, but it really looks like either somebody > is not doing his job or the said vendor doesn't care so much about > supporting FreeBSD. I am pretty sure the vendor in question has access > to numerous load-testing tools, that should have catched this issue. > > This is the second time during the past 6 months I have issue with the > quality of the Intel-based drivers - the first one is filed as > kern/140326, which has stalled apparently despite me providing all > necessary debug information. >
I can reproduce this bug on my box and I guess the root cause comes from PBA(Packet Buffer Allocation) configuration. Some controllers seems to require more TX buffer size to use 9000 MTU. The datasheet is not clear which controller has how much amount of Packet Buffer storage. This parameter seems to affect performance a lot because increasing TX buffer size results in decreasing RX buffer size. The attached patch seems to fix the issue for me but Jack may know better the hardware details as publicly available datasheet seems to be useless here.
Index: sys/dev/e1000/if_em.c =================================================================== --- sys/dev/e1000/if_em.c (revision 204011) +++ sys/dev/e1000/if_em.c (working copy) @@ -1384,7 +1384,12 @@ case e1000_ich9lan: case e1000_ich10lan: case e1000_pchlan: +#if 1 + /* Make 9000 MTU work. */ + pba = E1000_PBA_18K; +#else pba = E1000_PBA_10K; +#endif break; case e1000_ich8lan: pba = E1000_PBA_8K;
_______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"