Hi, we just bought a new firewall, so I did some tests. It has 2 integrated i82574L's and we use 2port i82571EB. I tested routing through this box with a simple "match out on em1 nat-to (em1)" rule, using 4.8-stable, tcpbench on all five end computers and here's what I got: - maximum throughput 183 MB/s according to systat ifs - total. almost exactly 200kpps in each direction. - the difference between amd64-SP and amd64-MP is insignificant (few percent of cpu load, SP better) - the difference between amd64-SP and i386-SP is noticeable (the throughput stays, load decreases a bit more, i386 better) - I couldn't boot i386-MP -stable version, the system kept rebooting after fs checks... - the difference between 82574L and 82571EB is quite big (574L at 183 MB/s and i386-SP had cpu load about 70-80% (intr), whereas 571EB performed the same with about 45-55% interrupt cpu load!) - tuning of ITR or the amount of Tx/Rx descriptors used per card is useless (at least here, different kind of traffic might behave different way) - even if you gain a few megabits, you are still risking latency problems (probably system usability?) - at the end of the day I tried 4.9 -current amd64 from 18th March and it actually performed worse - around 175 MB/s max and 70% CPU with 571EBs. - it's a brilliant motherboard, compared to our other 6 Intels
Is there anything I should test or mention and I didn't? Still, hope this helps someone... dmesg below: OpenBSD 4.8-stable (GENERIC.MP) #0: Tue Mar 22 17:42:14 CET 2011 peli...@koza.steadynet.cz:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 2137653248 (2038MB) avail mem = 2066927616 (1971MB) mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.6 @ 0x9f000 (68 entries) bios0: vendor American Megatrends Inc. version "1.1" date 05/27/2010 bios0: Supermicro X8SIL acpi0 at bios0: rev 2 acpi0: sleep states S0 S1 S4 S5 acpi0: tables DSDT FACP APIC MCFG OEMB HPET GSCI SSDT acpi0: wakeup devices P0P1(S4) P0P3(S4) P0P4(S4) P0P5(S4) P0P6(S4) BR1E(S4) PS2K(S4) PS2M(S4) USB0(S4) USB1(S4) USB2(S4) USB3(S4) USB4(S4) USB5(S4) USB6(S4) GBE_(S4) BR20(S4 ) BR21(S4) BR22(S4) BR23(S4) BR24(S4) BR25(S4) BR26(S4) BR27(S4) EUSB(S4) USBE(S4) SLPB(S4) acpitimer0 at acpi0: 3579545 Hz, 24 bits acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Core(TM) i3 CPU 540 @ 3.07GHz, 3067.11 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PD CM,SSE4.1,SSE4.2,POPCNT,NXE,LONG cpu0: 256KB 64b/line 8-way L2 cache cpu0: apic clock running at 133MHz cpu1 at mainbus0: apid 4 (application processor) cpu1: Intel(R) Core(TM) i3 CPU 540 @ 3.07GHz, 3066.67 MHz cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PD CM,SSE4.1,SSE4.2,POPCNT,NXE,LONG cpu1: 256KB 64b/line 8-way L2 cache ioapic0 at mainbus0: apid 5 pa 0xfec00000, version 20, 24 pins ioapic0: misconfigured as apic 1, remapped to apid 5 acpihpet0 at acpi0: 14318179 Hz acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus -1 (P0P1) acpiprt2 at acpi0: bus -1 (P0P3) acpiprt3 at acpi0: bus -1 (P0P5) acpiprt4 at acpi0: bus -1 (P0P6) acpiprt5 at acpi0: bus 4 (BR1E) acpiprt6 at acpi0: bus 1 (BR20) acpiprt7 at acpi0: bus 2 (BR24) acpiprt8 at acpi0: bus 3 (BR25) acpicpu0 at acpi0: C3, C2, C1, PSS acpicpu1 at acpi0: C3, C2, C1, PSS acpibtn0 at acpi0: SLPB acpibtn1 at acpi0: PWRB ipmi at mainbus0 not configured cpu0: Enhanced SpeedStep 3066 MHz: speeds: 3067, 2933, 2800, 2667, 2533, 2400, 2267, 2133, 2000, 1867, 1733, 1600, 1467, 1333, 1200 MHz pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 vendor "Intel", unknown product 0x0048 rev 0x18 ppb0 at pci0 dev 28 function 0 "Intel 3400 PCIE" rev 0x05: apic 5 int 17 (irq 10) pci1 at ppb0 bus 1 em0 at pci1 dev 0 function 0 "Intel PRO/1000 PT (82571EB)" rev 0x06: apic 5 int 16 (irq 11), address 00:1b:21:82:67:0a em1 at pci1 dev 0 function 1 "Intel PRO/1000 PT (82571EB)" rev 0x06: apic 5 int 17 (irq 10), address 00:1b:21:82:67:0b ppb1 at pci0 dev 28 function 4 "Intel 3400 PCIE" rev 0x05: apic 5 int 17 (irq 10) pci2 at ppb1 bus 2 em2 at pci2 dev 0 function 0 "Intel PRO/1000 MT (82574L)" rev 0x00: apic 5 int 16 (irq 11), address 00:25:90:0e:77:7a ppb2 at pci0 dev 28 function 5 "Intel 3400 PCIE" rev 0x05: apic 5 int 16 (irq 11) pci3 at ppb2 bus 3 em3 at pci3 dev 0 function 0 "Intel PRO/1000 MT (82574L)" rev 0x00: apic 5 int 17 (irq 10), address 00:25:90:0e:77:7b ehci0 at pci0 dev 29 function 0 "Intel 3400 USB" rev 0x05: apic 5 int 23 (irq 15) usb0 at ehci0: USB revision 2.0 uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 ppb3 at pci0 dev 30 function 0 "Intel 82801BA Hub-to-PCI" rev 0xa5 pci4 at ppb3 bus 4 vga1 at pci4 dev 3 function 0 "Matrox MGA G200eW" rev 0x0a wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) pcib0 at pci0 dev 31 function 0 "Intel 3400 LPC" rev 0x05 pciide0 at pci0 dev 31 function 2 "Intel 3400 SATA" rev 0x05: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI pciide0: using apic 5 int 19 (irq 14) for native-PCI interrupt wd0 at pciide0 channel 0 drive 0: <INTEL SSDSA2M040G2GC> wd0: 16-sector PIO, LBA48, 38166MB, 78165360 sectors wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 6 ichiic0 at pci0 dev 31 function 3 "Intel 3400 SMBus" rev 0x05: apic 5 int 18 (irq 7) iic0 at ichiic0 iic0: addr 0x18 00=00 01=00 02=00 03=00 04=00 05=c1 06=00 07=21 08=01 09=60 0a=a4 0b=2c 0c=00 0d=00 words 00=00ef 01=0000 02=0000 03=0000 04=0000 05=c184 06=0054 07=2101 spdmem0 at iic0 addr 0x50: 2GB DDR3 SDRAM ECC PC3-10600 with thermal sensor pciide1 at pci0 dev 31 function 5 "Intel 3400 SATA" rev 0x05: DMA, channel 0 wired to native-PCI, channel 1 wired to native-PCI pciide1: using apic 5 int 19 (irq 14) for native-PCI interrupt isa0 at pcib0 isadma0 at isa0 com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo pckbc0 at isa0 port 0x60/5 pckbd0 at pckbc0 (kbd slot) pckbc0: using irq 1 for kbd slot wskbd0 at pckbd0: console keyboard, using wsdisplay0 pcppi0 at isa0 port 0x61 spkr0 at pcppi0 wbsio0 at isa0 port 0x2e/2: W83627DHG rev 0x25 lm1 at wbsio0 port 0xa10/8: W83627DHG mtrr: Pentium Pro MTRR support uhub1 at uhub0 port 1 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2 softraid0 at root root on wd0a swap on wd0b dump on wd0b -- Martin Pelikan