Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Feb 2010 19:42:55 -0800
From:      Pyun YongHyeon <pyunyh@gmail.com>
To:        Maxim Sobolev <sobomax@freebsd.org>
Cc:        Sergey Babkin <babkin@verizon.net>, freebsd-net@freebsd.org, Alfred Perlstein <alfred@freebsd.org>, Jack Vogel <jfvogel@gmail.com>, FreeBSD Hackers <freebsd-hackers@freebsd.org>, "David G. Lawrence" <dg@dglawrence.com>
Subject:   Re: Sudden mbuf demand increase and shortage under the load (igb issue?)
Message-ID:  <20100219034255.GG11675@michelle.cdnetworks.com>
In-Reply-To: <4B7DE3CC.7040704@FreeBSD.org>
References:  <4B79297D.9080403@FreeBSD.org> <4B79205B.619A0A1A@verizon.net> <4B7ADFC6.7020202@FreeBSD.org> <4B7DE3CC.7040704@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--Md/poaVZ8hnGTzuv
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

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.
> 
> em0@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. 

--Md/poaVZ8hnGTzuv
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="em.ich10.jumbo.diff"

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;

--Md/poaVZ8hnGTzuv--



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