From owner-freebsd-net@FreeBSD.ORG Mon Jul 5 11:58:45 2010 Return-Path: Delivered-To: freebsd-net@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 49E5E106566B for ; Mon, 5 Jul 2010 11:58:45 +0000 (UTC) (envelope-from admin@shtorm.com) Received: from ns.shtorm.com (ns.shtorm.com [195.62.14.3]) by mx1.freebsd.org (Postfix) with ESMTP id CC8908FC13 for ; Mon, 5 Jul 2010 11:58:44 +0000 (UTC) Received: from [10.66.6.77] (unknown [10.66.6.77]) by ns.shtorm.com (Postfix) with ESMTP id 7C16A2E400B for ; Mon, 5 Jul 2010 14:40:52 +0300 (EEST) From: Shtorm To: freebsd-net@FreeBSD.org Content-Type: text/plain; charset="UTF-8" Date: Mon, 05 Jul 2010 14:43:54 +0300 Message-ID: <1278330234.10826.18.camel@stormi-desktop> Mime-Version: 1.0 X-Mailer: Evolution 2.28.1 Content-Transfer-Encoding: 7bit Cc: Subject: Intel 82574L Gigabit Ethernet Controller X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2010 11:58:45 -0000 I just got Supermicro SuperServer 5016I-MRF server with two 82574L controllers on board. According to specs this controller can do two msi-x vectors for tx and rx, but only one tx-rx pair is used on 8.1-prerelease. uname -a FreeBSD router 8.1-PRERELEASE FreeBSD 8.1-PRERELEASE #0: Tue Jun 29 00:42:32 UTC 2010 root@releng_8:/usr/obj/usr/src/sys/ROUTER amd64 Here is pciconf em0@pci0:1:0:0: class=0x020000 card=0x10d315d9 chip=0x10d38086 rev=0x00 hdr=0x00 vendor = 'Intel Corporation' device = 'Intel 82574L Gigabit Ethernet Controller (82574L)' class = network subclass = ethernet em1@pci0:2:0:0: class=0x020000 card=0x10d315d9 chip=0x10d38086 rev=0x00 hdr=0x00 vendor = 'Intel Corporation' device = 'Intel 82574L Gigabit Ethernet Controller (82574L)' class = network subclass = ethernet Checking procstat shows 5 interrupts per interface procstat -at | grep em\[01\] 0 100035 kernel em0 rxq 0 16 sleep - 0 100037 kernel em0 txq 6 16 sleep - 0 100039 kernel em0 rxq 0 16 sleep - 0 100041 kernel em0 txq 0 16 sleep - 0 100044 kernel em1 rxq 0 16 sleep - 0 100046 kernel em1 txq 1 16 sleep - 0 100048 kernel em1 rxq 0 16 sleep - 0 100050 kernel em1 txq 0 16 sleep - 11 100034 intr irq256: em0 7 16 wait - 11 100036 intr irq257: em0 0 16 wait - 11 100038 intr irq258: em0 0 16 wait - 11 100040 intr irq259: em0 0 16 wait - 11 100042 intr irq260: em0 3 16 wait - 11 100043 intr irq261: em1 4 16 wait - 11 100045 intr irq262: em1 5 16 wait - 11 100047 intr irq263: em1 0 16 wait - 11 100049 intr irq264: em1 0 16 wait - 11 100051 intr irq265: em1 2 16 wait - but vmstat -i shows only one pair is used %vmstat -i interrupt total rate irq1: atkbd0 391 0 irq18: ehci0 uhci5 2 0 irq19: uhci2 uhci4 27 0 irq23: uhci3 ehci1 8463 0 cpu0: timer 107412943 7864 irq256: em0 93311951 6832 irq257: em0 90479067 6624 irq260: em0 2 0 irq261: em1 92966894 6806 irq262: em1 80298240 5879 irq265: em1 1 0 cpu1: timer 107412607 7864 cpu2: timer 107412785 7864 cpu3: timer 107412830 7864 cpu5: timer 107413210 7864 cpu4: timer 107413389 7864 cpu7: timer 107407337 7864 cpu6: timer 107413132 7864 Total 1216363271 89058 Here is my loader.conf %cat /boot/loader.conf | grep em if_em_load=YES hw.em.rxd=4096 hw.em.txd=4096 hw.em.tx_int_delay=512 hw.em.rx_int_delay=512 hw.em.tx_abs_int_delay=1024 hw.em.rx_abs_int_delay=1024 hw.em.enable_msix=1 hw.em.msix_queues=2 hw.em.rx_process_limit=100 hw.em.fc_setting=0 Is it ever possible to activate second tx-rx pair on this card?