From owner-freebsd-net@FreeBSD.ORG Thu May 9 12:56:56 2013 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id AFC26E2A for ; Thu, 9 May 2013 12:56:56 +0000 (UTC) (envelope-from barney_cordoba@yahoo.com) Received: from nm36-vm4.bullet.mail.ne1.yahoo.com (nm36-vm4.bullet.mail.ne1.yahoo.com [98.138.229.116]) by mx1.freebsd.org (Postfix) with ESMTP id 6E82C687 for ; Thu, 9 May 2013 12:56:55 +0000 (UTC) Received: from [98.138.226.176] by nm36.bullet.mail.ne1.yahoo.com with NNFMP; 09 May 2013 12:54:06 -0000 Received: from [98.138.86.157] by tm11.bullet.mail.ne1.yahoo.com with NNFMP; 09 May 2013 12:54:05 -0000 Received: from [127.0.0.1] by omp1015.mail.ne1.yahoo.com with NNFMP; 09 May 2013 12:54:05 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 969047.13898.bm@omp1015.mail.ne1.yahoo.com Received: (qmail 46460 invoked by uid 60001); 9 May 2013 12:54:05 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1368104045; bh=+OSnL5CcPnO3QTRB3SB48wIMK2ITcELHTLsphBhfi+A=; h=X-YMail-OSG:Received:X-Rocket-MIMEInfo:X-Mailer:Message-ID:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=IgH03bcpbrGMJISMKjvMheDIU4zUBs+/As2H3vctTtOYsNCJC33iPrcvjvZyVGpD+C8RTKghl8VsNY8J3o3mcA9hIGA1hwii/wLAdfRocFwpe9t/zbLP33Yu1fNfk77iVQyi4r7pZEtVip1KaB7ZWvmQIHaJwbPoDhh0nwZ8q5o= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Rocket-MIMEInfo:X-Mailer:Message-ID:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=XrbcjJE5tYN+73rO0232K5grvRcF/A3V/9BnFC/JSpECGzx0E4EgLEP23omVX826KN6jdM5FkmRLGZJ/UFx8/riC1LUytowtJ73dMVpCJvK0+716QJ2XktzdtBMN0GdkV17bpDcwALvsmxi58utiVO1sqfaB6GJjyAFkUO95eeQ=; X-YMail-OSG: kKgz8B0VM1k7RyetKh2Qae0O.yJ_Ulz_jbu0qmo89UdMQoG 1RerwHe5mozDJOQ3sAUfg0H0H5WuvQVF_IjLCr7KWVfMA11v8RBNHPH9Lkkd U48dJKPNN_WDuF3s2J8k5B.HTxc5B2Ne1yod0Gke9EeODfr96rNTos5b8IEF xv6ui2mdbGtgwXsNWIytEgkxWbfWobWcfzqYDJ7I.8rcgCCBKFGv7TVAEs3j md91NcjGTliTuZtIvmNy5PbObOIbUuLplAfUpCI40SdmPq.wZt6WosFqnjEp l4O2.077GOHb33Btd0nZqIs18ypH7bB4TUEjlmEIA0kgCnjyF9XtkPktt_n9 E5e1XGcQtD857Geras11AZLvQ2ZyHyivJWWKGWt0FhAtZNjevP_BpHcoT7uy mtGY0CS0d2GxahhaC19fGlQlUFnG3zUcJYgWvsUrb9vo2TL1U5Uk07TxrCt. 805svATvd.J0LpLwP9957ftk9gEgg7x.iTGMCkiL_YszFwWVyPYov2MWG6mw Mhobi9lTYrf18lZRZIpFhvK_jqytiD6vr0iDgwVvhU9_nJ_zQps3zyu5uDrA wvsB4p3HlZ9_yks8dk27BPnDr Received: from [98.203.118.124] by web121601.mail.ne1.yahoo.com via HTTP; Thu, 09 May 2013 05:54:05 PDT X-Rocket-MIMEInfo: 002.001, CgotLS0gT24gU3VuLCA0LzI4LzEzLCBCYXJuZXkgQ29yZG9iYSA8YmFybmV5X2NvcmRvYmFAeWFob28uY29tPiB3cm90ZToKCj4gRnJvbTogQmFybmV5IENvcmRvYmEgPGJhcm5leV9jb3Jkb2JhQHlhaG9vLmNvbT4KPiBTdWJqZWN0OiBSZTogSGlnaCBDUFUgaW50ZXJydXB0IGxvYWQgb24gaW50ZWwgSTM1MFQ0IHdpdGggaWdiIG9uIDguMwo.IFRvOiAiSmFjayBWb2dlbCIgPGpmdm9nZWxAZ21haWwuY29tPgo.IENjOiAiRnJlZUJTRCBOZXQiIDxmcmVlYnNkLW5ldEBmcmVlYnNkLm9yZz4sICJDbMOpbWVudCABMAEBAQE- X-Mailer: YahooMailClassic/15.1.8 YahooMailWebService/0.8.141.536 Message-ID: <1368104045.43950.YahooMailClassic@web121601.mail.ne1.yahoo.com> Date: Thu, 9 May 2013 05:54:05 -0700 (PDT) From: Barney Cordoba Subject: Re: High CPU interrupt load on intel I350T4 with igb on 8.3 To: nodens2099@gmail.com In-Reply-To: <1367175573.97340.YahooMailClassic@web121602.mail.ne1.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-net@freebsd.org X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 May 2013 12:56:56 -0000 =0A=0A--- On Sun, 4/28/13, Barney Cordoba wrote:= =0A=0A> From: Barney Cordoba =0A> Subject: Re: Hi= gh CPU interrupt load on intel I350T4 with igb on 8.3=0A> To: "Jack Vogel" = =0A> Cc: "FreeBSD Net" , "Cl=E9= ment Hermann (nodens)" =0A> Date: Sunday, April 28, 2= 013, 2:59 PM=0A> The point of lists is to be able to=0A> benefit from other= 's experiences so you don't have to waste=0A> your time "trying" things tha= t others have already done.=0A> I'm not pontificating. I've done the tests.= There's no=0A> reason for every person who is=A0having to exact same probl= em=0A> to do the same tests over and over, hoping for somemagically=0A> dif= ferent result. The result will always be the same.=0A> Because there's no c= hance=A0of it=A0working properly by=0A> chance.=0A> BC=0A> =0A> =0A> --- On= Sun, 4/28/13, Jack Vogel =0A> wrote:=0A> =0A> From: Jac= k Vogel =0A> Subject: Re: High CPU interrupt load on int= el I350T4 with=0A> igb on 8.3=0A> To: "Barney Cordoba" =0A> Cc: "FreeBSD Net" ,=0A> "Cl=E9ment Herm= ann (nodens)" =0A> Date: Sunday, April 28, 2013, 1:07= PM=0A> =0A> Try setting your queues to 1, run some tests, then try=0A> set= tingyour queues to 2, then to 4... its called tuning, and=0A> rather thanju= st pontificating about it, which Barney so=0A> loves to do, you can=0A> dis= cover what works best. I ran tests last week preparing=0A> for anew driver = version and found the best results came not=0A> only whiletweaking queues, = but also ring size, and I could=0A> see changes based=0A> on the buf ring s= ize.... =A0There are lots of things that may=0A> improve ordegrade performa= nce depending on the workload.=0A> Jack=0A> =0A> =0A> =0A> On Sun, Apr 28, = 2013 at 7:21 AM, Barney Cordoba =0A> wrote:=0A> = =0A> =0A> =0A> =0A> =0A> --- On Fri, 4/26/13, "Cl=E9ment Hermann (nodens)" = =0A> wrote:=0A> =0A> =0A> =0A> > From: "Cl=E9ment Her= mann (nodens)" =0A> =0A> > Subject: High CPU interrup= t load on intel I350T4 with=0A> igb on 8.3=0A> =0A> > To: freebsd-net@freeb= sd.org=0A> =0A> > Date: Friday, April 26, 2013, 7:31 AM=0A> =0A> > Hi list,= =0A> =0A> >=0A> =0A> > We use pf+ALTQ for trafic shaping on some routers.= =0A> =0A> >%> =0A> > We are switching to new servers : Dell PowerEdge R620= =0A> with 2=0A> =0A> > 8-cores Intel Processor (E5-2650L), 8GB RAM and Inte= l=0A> I350T4=0A> =0A> > (quad port) using igb driver. The old hardware is u= sing=0A> em=0A> =0A> > driver, the CPU load is high but mostly due to kerne= l=0A> and a=0A> =0A> > large pf ruleset.=0A> =0A> >=0A> =0A> > On the new h= ardware, we see high CPU Interrupt load (up=0A> to=0A> =0A> > 95%), even th= ough there is not much trafic currently=0A> (peaks=0A> =0A> > about 150Mbps= and 40Kpps). All queues are used and=0A> binded to=0A> =0A> > a cpu accord= ing to top, but a lot of CPU time is spent=0A> on=0A> =0A> > igb queues (in= terrupt or wait). The load is fine when=0A> we=0A> =0A> > stay below 20Kpps= .=0A> =0A> >=0A> =0A> > We see no mbuf shortage, no dropped packet, but the= re=0A> is=0A> =0A> > little margin left on CPU time (about 25% idle at best= ,=0A> most=0A> =0A> > of CPU time is spent on interrupts), which is=0A> dis= turbing.=0A> =0A> >=0A> =0A> > We have done some tuning, but to no avail := =0A> =0A> >=0A> =0A> > sysctl.conf :=0A> =0A> >=0A> =0A> > # mbufs=0A> =0A>= > kern.ipc.nmbclusters=3D65536=0A> =0A> > # Sockets=0A> =0A> > kern.ipc.so= maxconn=3D8192=0A> =0A> > net.inet.tcp.delayed_ack=3D0=0A> =0A> > net.inet.= tcp.sendspace=3D65535=0A> =0A> > net.inet.udp.recvspace=3D65535=0A> =0A> > = net.inet.udp.maxdgram=3D57344=0A> =0A> > net.local.stream.recvspace=3D65535= =0A> =0A> > net.local.stream.sendspace=3D65535=0A> =0A> > # IGB=0A> =0A> > = dev.igb.0.rx_processing_limit=3D4096=0A> =0A> > dev.igb.1.rx_processing_lim= it=3D4096=0A> =0A> > dev.igb.2.rx_processing_limit=3D4096=0A> =0A> > dev.ig= b.3.rx_processing_limit=3D4096=0A> =0A> >=0A> =0A> > /boot/loader.conf :=0A= > =0A> >=0A> =0A> > vm.kmem_size=3D1G=0A> =0A> > hw.igb.max_interrupt_rate= =3D"32000"=A0 # maximum number=0A> of=0A> =0A> > interrupts/sec generated b= y single igb(4) (default=0A> 8000)=0A> =0A> > hw.igb.txd=3D"2048"=A0 =A0 = =A0 =A0 =A0 =A0=0A> =0A> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=0A> =0A> > =A0 #= number of transmit descriptors allocated by the=0A> =0A> > driver (2048 li= mit)=0A> =0A> > hw.igb.rxd=3D"2048"=A0 =A0 =A0 =A0 =A0 =A0=0A> =0A> > =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0=0A> =0A> > =A0 # number of receive descriptors = allocated by the=0A> =0A> > driver (2048 limit)=0A> =0A> > hw.igb.rx_proces= s_limit=3D"1000"=A0 =A0=A0=A0#=0A> =0A> > maximum number of received packet= s to process at a=0A> time, The=0A> =0A> > default of 100 is=0A> =0A> > =A0= =A0 =A0 =A0 =A0 =A0 =A0 =A0=0A> =0A> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=0A>= =0A> > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0=0A> =0A> > =A0 =A0 =A0 =A0 =A0 =A0= =0A> =0A> > =A0=A0=A0# too low for most firewalls. (-1 means=0A> =0A> > unl= imited)=0A> =0A> >=0A> =0A> > Kernel HZ is 1000.=0A> =0A> >=0A> =0A> > The = IGB /boot/loader.conf tuning was our last attempt,=0A> it=0A> =0A> > didn't= change anything.=0A> =0A> >=0A> =0A> > Does anyone have any pointer ? How = could we lower CPU=0A> =0A> > interrupt load ? should we set=0A> hw.igb.max= _interrupt_rate=0A> =0A> > lower instead of higher ?=0A> =0A> > From what w= e saw here and there, we should be able to=0A> do=0A> =0A> > much better wi= th this hardware.=0A> =0A> >=0A> =0A> >=0A> =0A> > relevant sysctl (igb1 an= d igb2 only, other interfaces=0A> are=0A> =0A> > unused) :=0A> =0A> >=0A> = =0A> > sysctl dev.igb | grep -v ": 0$"=0A> =0A> > dev.igb.1.%desc: Intel(R)= PRO/1000 Network Connection=0A> =0A> > version - 2.3.1=0A> =0A> > dev.igb.= 1.%driver: igb=0A> =0A> > dev.igb.1.%location: slot=3D0 function=3D1=0A> = =0A> > dev.igb.1.%pnpinfo: vendor=3D0x8086 device=3D0x1521=0A> =0A> > subve= ndor=3D0x8086 subdevice=3D0x5001 class=3D0x020000=0A> =0A> > dev.igb.1.%par= ent: pci5=0A> =0A> > dev.igb.1.nvm: -1=0A> =0A> > dev.igb.1.enable_aim: 1= =0A> =0A> > dev.igb.1.fc: 3=0A> =0A> > dev.igb.1.rx_processing_limit: 4096= =0A> =0A> > dev.igb.1.eee_disabled: 1=0A> =0A> > dev.igb.1.link_irq: 2=0A> = =0A> > dev.igb.1.device_control: 1209795137=0A> =0A> > dev.igb.1.rx_control= : 67141658=0A> =0A> > dev.igb.1.interrupt_mask: 4=0A> =0A> > dev.igb.1.exte= nded_int_mask: 2147483981=0A> =0A> > dev.igb.1.fc_high_water: 33168=0A> =0A= > > dev.igb.1.fc_low_water: 33152=0A> =0A> > dev.igb.1.queue0.interrupt_rat= e: 71428=0A> =0A> > dev.igb.1.queue0.txd_head: 1318=0A> =0A> > dev.igb.1.qu= eue0.txd_tail: 1318=0A> =0A> > dev.igb.1.queue0.tx_packets: 84663594=0A> = =0A> > dev.igb.1.queue0.rxd_head: 717=0A> =0A> > dev.igb.1.queue0.rxd_tail:= 715=0A> =0A> > dev.igb.1.queue0.rx_packets: 43899597=0A> =0A> > dev.igb.1.= queue0.rx_bytes: 8905556030=0A> =0A> > dev.igb.1.queue1.interrupt_rate: 909= 09=0A> =0A> > dev.igb.1.queue1.txd_head: 693=0A> =0A> > dev.igb.1.queue1.tx= d_tail: 693=0A> =0A> > dev.igb.1.queue1.tx_packets: 57543349=0A> =0A> > dev= .igb.1.queue1.rxd_head: 1033=0A> =0A> > dev.igb.1.queue1.rxd_tail: 1032=0A>= =0A> > dev.igb.1.queue1.rx_packets: 54821897=0A> =0A> > dev.igb.1.queue1.r= x_bytes: 9944955108=0A> =0A> > dev.igb.1.queue2.interrupt_rate: 100000=0A> = =0A> > dev.igb.1.queue2.txd_head: 350=0A> =0A> > dev.igb.1.queue2.txd_tail:= 350=0A> =0A> > dev.igb.1.queue2.tx_packets: 62320990=0A> =0A> > dev.igb.1.= queue2.rxd_head: 1962=0A> =0A> > dev.igb.1.queue2.rxd_tail: 1939=0A> =0A> >= dev.igb.1.queue2.rx_packets: 43909016=0A> =0A> > dev.igb.1.queue2.rx_bytes= : 8673941461=0A> =0A> > dev.igb.1.queue3.interrupt_rate: 14925=0A> =0A> > d= ev.igb.1.queue3.txd_head: 647=0A> =0A> > dev.igb.1.queue3.txd_tail: 647=0A>= =0A> > dev.igb.1.queue3.tx_packets: 58776199=0A> =0A> > dev.igb.1.queue3.r= xd_head: 692=0A> =0A> > dev.igb.1.queue3.rxd_tail: 691=0A> =0A> > dev.igb.1= .queue3.rx_packets: 55138996=0A> =0A> > dev.igb.1.queue3.rx_bytes: 93102173= 54=0A> =0A> > dev.igb.1.queue4.interrupt_rate: 100000=0A> =0A> > dev.igb.1.= queue4.txd_head: 1721=0A> =0A> > dev.igb.1.queue4.txd_tail: 1721=0A> =0A> >= dev.igb.1.queue4.tx_packets: 54337209=0A> =0A> > dev.igb.1.queue4.rxd_head= : 1609=0A> =0A> > dev.igb.1.queue4.rxd_tail: 1598=0A> =0A> > dev.igb.1.queu= e4.rx_packets: 46546503=0A> =0A> > dev.igb.1.queue4.rx_bytes: 8818182840=0A= > =0A> > dev.igb.1.queue5.interrupt_rate: 11627=0A> =0A> > dev.igb.1.queue5= .txd_head: 254=0A> =0A> > dev.igb.1.queue5.txd_tail: 254=0A> =0A> > dev.igb= .1.queue5.tx_packets: 53117182=0A> =0A> > dev.igb.1.queue5.rxd_head: 701=0A= > =0A> > dev.igb.1.queue5.rxd_tail: 685=0A> =0A> > dev.igb.1.queue5.rx_pack= ets: 43014837=0A> =0A> > dev.igb.1.queue5.rx_bytes: 8699057447=0A> =0A> > d= ev.igb.1.queue6.interrupt_rate: 55555=0A> =0A> > dev.igb.1.queue6.txd_head:= 8=0A> =0A> > dev.igb.1.queue6.txd_tail: 8=0A> =0A> > dev.igb.1.queue6.tx_p= ackets: 52654088=0A> =0A> > dev.igb.1.queue6.rxd_head: 1057=0A> =0A> > dev.= igb.1.queue6.rxd_tail: 1041=0A> =0A> > dev.igb.1.queue6.rx_packets: 4522703= 0=0A> =0A> > dev.igb.1.queue6.rx_bytes: 9494489640=0A> =0A> > dev.igb.1.que= ue7.interrupt_rate: 5235=0A> =0A> > dev.igb.1.queue7.txd_head: 729=0A> =0A>= > dev.igb.1.queue7.txd_tail: 729=0A> =0A> > dev.igb.1.queue7.tx_packets: 6= 1926105=0A> =0A> > dev.igb.1.queue7.rxd_head: 146=0A> =0A> > dev.igb.1.queu= e7.rxd_tail: 140=0A> =0A> > dev.igb.1.queue7.rx_packets: 51781775=0A> =0A> = > dev.igb.1.queue7.rx_bytes: 8901279226=0A> =0A> > dev.igb.1.mac_stats.miss= ed_packets: 1657=0A> =0A> > dev.igb.1.mac_stats.recv_no_buff: 405=0A> =0A> = > dev.igb.1.mac_stats.total_pkts_recvd: 384332760=0A> =0A> > dev.igb.1.mac_= stats.good_pkts_recvd: 384331103=0A> =0A> > dev.igb.1.mac_stats.bcast_pkts_= recvd: 15510=0A> =0A> > dev.igb.1.mac_stats.mcast_pkts_recvd: 52957=0A> =0A= > > dev.igb.1.mac_stats.rx_frames_64: 195496498=0A> =0A> > dev.igb.1.mac_st= ats.rx_frames_65_127: 133346124=0A> =0A> > dev.igb.1.mac_stats.rx_frames_12= 8_255: 5254911=0A> =0A> > dev.igb.1.mac_stats.rx_frames_256_511: 9700049=0A= > =0A> > dev.igb.1.mac_stats.rx_frames_512_1023: 16885886=0A> =0A> > dev.ig= b.1.mac_stats.rx_frames_1024_1522: 23647635=0A> =0A> > dev.igb.1.mac_stats.= good_octets_recvd: 74284029276=0A> =0A> > dev.igb.1.mac_stats.good_octets_t= xd: 544536708502=0A> =0A> > dev.igb.1.mac_stats.total_pkts_txd: 485327419= =0A> =0A> > dev.igb.1.mac_stats.good_pkts_txd: 485327419=0A> =0A> > dev.igb= .1.mac_stats.bcast_pkts_txd: 72=0A> =0A> > dev.igb.1.mac_stats.mcast_pkts_t= xd: 52820=0A> =0A> > dev.igb.1.mac_stats.tx_frames_64: 57820809=0A> =0A> > = dev.igb.1.mac_stats.tx_frames_65_127: 51586341=0A> =0A> > dev.igb.1.mac_sta= ts.tx_frames_128_255: 7050579=0A> =0A> > dev.igb.1.mac_stats.tx_frames_256_= 511: 7887126=0A> =0A> > dev.igb.1.mac_stats.tx_frames_512_1023: 10130891=0A= > =0A> > dev.igb.1.mac_stats.tx_frames_1024_1522: 350851673=0A> =0A> > dev.= igb.1.interrupts.asserts: 551135045=0A> =0A> > dev.igb.1.interrupts.rx_pkt_= timer: 384326679=0A> =0A> > dev.igb.1.interrupts.tx_queue_empty: 485323376= =0A> =0A> > dev.igb.1.interrupts.tx_queue_min_thresh: 6324386=0A> =0A> > de= v.igb.1.host.rx_pkt: 4424=0A> =0A> > dev.igb.1.host.tx_good_pkt: 4043=0A> = =0A> > dev.igb.1.host.rx_good_bytes: 74284030864=0A> =0A> > dev.igb.1.host.= tx_good_bytes: 544536708502=0A> =0A> > dev.igb.2.%desc: Intel(R) PRO/1000 N= etwork Connection=0A> =0A> > version - 2.3.1=0A> =0A> > dev.igb.2.%driver: = igb=0A> =0A> > dev.igb.2.%location: slot=3D0 function=3D2=0A> =0A> > dev.ig= b.2.%pnpinfo: vendor=3D0x8086 device=3D0x1521=0A> =0A> > subvendor=3D0x8086= subdevice=3D0x5001 class=3D0x020000=0A> =0A> > dev.igb.2.%parent: pci5=0A>= =0A> > dev.igb.2.nvm: -1=0A> =0A> > dev.igb.2.enable_aim: 1=0A> =0A> > dev= .igb.2.fc: 3=0A> =0A> > dev.igb.2.rx_processing_limit: 4096=0A> =0A> > dev.= igb.2.eee_disabled: 1=0A> =0A> > dev.igb.2.link_irq: 2=0A> =0A> > dev.igb.2= .device_control: 1209795137=0A> =0A> > dev.igb.2.rx_control: 67141658=0A> = =0A> > dev.igb.2.interrupt_mask: 4=0A> =0A> > dev.igb.2.extended_int_mask: = 2147483959=0A> =0A> > dev.igb.2.fc_high_water: 33168=0A> =0A> > dev.igb.2.f= c_low_water: 33152=0A> =0A> > dev.igb.2.queue0.interrupt_rate: 13698=0A> = =0A> > dev.igb.2.queue0.txd_head: 1618=0A> =0A> > dev.igb.2.queue0.txd_tail= : 1618=0A> =0A> > dev.igb.2.queue0.tx_packets: 46401106=0A> =0A> > dev.igb.= 2.queue0.rxd_head: 831=0A> =0A> > dev.igb.2.queue0.rxd_tail: 827=0A> =0A> >= dev.igb.2.queue0.rx_packets: 69356350=0A> =0A> > dev.igb.2.queue0.rx_bytes= : 68488772907=0A> =0A> > dev.igb.2.queue1.interrupt_rate: 5405=0A> =0A> > d= ev.igb.2.queue1.txd_head: 190=0A> =0A> > dev.igb.2.queue1.txd_tail: 190=0A>= =0A> > dev.igb.2.queue1.tx_packets: 55965886=0A> =0A> > dev.igb.2.queue1.r= xd_head: 268=0A> =0A> > dev.igb.2.queue1.rxd_tail: 256=0A> =0A> > dev.igb.2= .queue1.rx_packets: 58958084=0A> =0A> > dev.igb.2.queue1.rx_bytes: 69154569= 937=0A> =0A> > dev.igb.2.queue2.interrupt_rate: 83333=0A> =0A> > dev.igb.2.= queue2.txd_head: 568=0A> =0A> > dev.igb.2.queue2.txd_tail: 568=0A> =0A> > d= ev.igb.2.queue2.tx_packets: 44974648=0A> =0A> > dev.igb.2.queue2.rxd_head: = 371=0A> =0A> > dev.igb.2.queue2.rxd_tail: 219=0A> =0A> > dev.igb.2.queue2.r= x_packets: 67037407=0A> =0A> > dev.igb.2.queue2.rx_bytes: 72042326102=0A> = =0A> > dev.igb.2.queue3.interrupt_rate: 12658=0A> =0A> > dev.igb.2.queue3.t= xd_head: 867=0A> =0A> > dev.igb.2.queue3.txd_tail: 867=0A> =0A> > dev.igb.2= .queue3.tx_packets: 55962467=0A> =0A> > dev.igb.2.queue3.rxd_head: 85=0A> = =0A> > dev.igb.2.queue3.rxd_tail: 1953=0A> =0A> > dev.igb.2.queue3.rx_packe= ts: 60972965=0A> =0A> > dev.igb.2.queue3.rx_bytes: 70397176035=0A> =0A> > d= ev.igb.2.queue4.interrupt_rate: 90909=0A> =0A> > dev.igb.2.queue4.txd_head:= 1920=0A> =0A> > dev.igb.2.queue4.txd_tail: 1920=0A> =0A> > dev.igb.2.queue= 4.tx_packets: 47660931=0A> =0A> > dev.igb.2.queue4.rxd_head: 1397=0A> =0A> = > dev.igb.2.queue4.rxd_tail: 1379=0A> =0A> > dev.igb.2.queue4.rx_packets: 5= 9110758=0A> =0A> > dev.igb.2.queue4.rx_bytes: 68919201478=0A> =0A> > dev.ig= b.2.queue5.interrupt_rate: 111111=0A> =0A> > dev.igb.2.queue5.txd_head: 886= =0A> =0A> > dev.igb.2.queue5.txd_tail: 886=0A> =0A> > dev.igb.2.queue5.tx_p= ackets: 45103990=0A> =0A> > dev.igb.2.queue5.rxd_head: 812=0A> =0A> > dev.i= gb.2.queue5.rxd_tail: 799=0A> =0A> > dev.igb.2.queue5.rx_packets: 59030312= =0A> =0A> > dev.igb.2.queue5.rx_bytes: 69234293962=0A> =0A> > dev.igb.2.que= ue6.interrupt_rate: 5208=0A> =0A> > dev.igb.2.queue6.txd_head: 1926=0A> =0A= > > dev.igb.2.queue6.txd_tail: 1926=0A> =0A> > dev.igb.2.queue6.tx_packets:= 46215046=0A> =0A> > dev.igb.2.queue6.rxd_head: 692=0A> =0A> > dev.igb.2.qu= eue6.rxd_tail: 689=0A> =0A> > dev.igb.2.queue6.rx_packets: 58256050=0A> =0A= > > dev.igb.2.queue6.rx_bytes: 68429172749=0A> =0A> > dev.igb.2.queue7.inte= rrupt_rate: 50000=0A> =0A> > dev.igb.2.queue7.txd_head: 126=0A> =0A> > dev.= igb.2.queue7.txd_tail: 126=0A> =0A> > dev.igb.2.queue7.tx_packets: 52451455= =0A> =0A> > dev.igb.2.queue7.rxd_head: 968=0A> =0A> > dev.igb.2.queue7.rxd_= tail: 885=0A> =0A> > dev.igb.2.queue7.rx_packets: 65946491=0A> =0A> > dev.i= gb.2.queue7.rx_bytes: 70263478849=0A> =0A> > dev.igb.2.mac_stats.missed_pac= kets: 958=0A> =0A> > dev.igb.2.mac_stats.recv_no_buff: 69=0A> =0A> > dev.ig= b.2.mac_stats.total_pkts_recvd: 498658079=0A> =0A> > dev.igb.2.mac_stats.go= od_pkts_recvd: 498657121=0A> =0A> > dev.igb.2.mac_stats.bcast_pkts_recvd: 1= 6867=0A> =0A> > dev.igb.2.mac_stats.mcast_pkts_recvd: 52957=0A> =0A> > dev.= igb.2.mac_stats.rx_frames_64: 59089332=0A> =0A> > dev.igb.2.mac_stats.rx_fr= ames_65_127: 52880118=0A> =0A> > dev.igb.2.mac_stats.rx_frames_128_255: 752= 6966=0A> =0A> > dev.igb.2.mac_stats.rx_frames_256_511: 8468389=0A> =0A> > d= ev.igb.2.mac_stats.rx_frames_512_1023: 10434770=0A> =0A> > dev.igb.2.mac_st= ats.rx_frames_1024_1522: 360257545=0A> =0A> > dev.igb.2.mac_stats.good_octe= ts_recvd: 558910494322=0A> =0A> > dev.igb.2.mac_stats.good_octets_txd: 8461= 8858153=0A> =0A> > dev.igb.2.mac_stats.total_pkts_txd: 394726904=0A> =0A> >= dev.igb.2.mac_stats.good_pkts_txd: 394726904=0A> =0A> > dev.igb.2.mac_stat= s.bcast_pkts_txd: 48=0A> =0A> > dev.igb.2.mac_stats.mcast_pkts_txd: 52821= =0A> =0A> > dev.igb.2.mac_stats.tx_frames_64: 196605932=0A> =0A> > dev.igb.= 2.mac_stats.tx_frames_65_127: 134602807=0A> =0A> > dev.igb.2.mac_stats.tx_f= rames_128_255: 5705236=0A> =0A> > dev.igb.2.mac_stats.tx_frames_256_511: 10= 267168=0A> =0A> > dev.igb.2.mac_stats.tx_frames_512_1023: 17165496=0A> =0A>= > dev.igb.2.mac_stats.tx_frames_1024_1522: 30380265=0A> =0A> > dev.igb.2.i= nterrupts.asserts: 465994260=0A> =0A> > dev.igb.2.interrupts.rx_pkt_timer: = 498647546=0A> =0A> > dev.igb.2.interrupts.tx_queue_empty: 394720657=0A> =0A= > > dev.igb.2.interrupts.tx_queue_min_thresh: 24424555=0A> =0A> > dev.igb.2= .host.rx_pkt: 9575=0A> =0A> > dev.igb.2.host.tx_good_pkt: 6248=0A> =0A> > d= ev.igb.2.host.rx_good_bytes: 558910513984=0A> =0A> > dev.igb.2.host.tx_good= _bytes: 84618858217=0A> =0A> >=0A> =0A> >=0A> =0A> > Thanks for your help.= =0A> =0A> >=0A> =0A> > Cheers,=0A> =0A> =0A> =0A> You're experiencing lock = contention=0A> =0A> =0A> =0A> Try editing igb.c and setting the queues to 1= . The=0A> multiqueue=0A> =0A> implementation in igb has a negative impact.= =0A> =0A> =0A> =0A> If you have just 1 system get a dual port 82571 card an= d use=0A> the=0A> =0A> em driver.=0A> =0A> =0A> =0A> BC=0A> =0A=0AI'm curio= us as to why you are going to spend $4000. on hardware rather=0Athan just b= uying a commercial firewall? You shouldn't need 16 cores to=0Afilter 150Kpp= s. You can do that with 2 cores.=0A=0ABC