On Nov 16, 2007 2:57 PM, Calomel <[EMAIL PROTECTED]> wrote: > > Doing a quick google search I see other people have also reported problems > with the on board Broadcom BCM5708 on the dells. Can you try another > network card like the Intel Pro/1000 MT (OpenBSD interface name: em0) ? > > My place of business transfers an average of 450Mbit with OpenBSD 4.1/4.2 > with ALTQ (HFSC) without issue. CPU usage for the interrupts are around 33% > on a amd64 2.2GHz.
Hi Calomel, It took me a little longer than I expected, bit I got a dual Intel Pro/1000 to try. Unfortunately the results weren't very different: interrupts were at 80% when I put 90Mbps of traffic over the bridge. I wonder what are the major differences between our servers. Could you send me a dmesg of your bridge ? fmbraga:130$ sudo pfctl -si Status: Enabled for 0 days 00:14:19 Debug: Urgent State Table Total Rate current entries 291977 searches 28283453 32926.0/s inserts 1779088 2071.1/s removals 1487111 1731.2/s Counters match 2024938 2357.3/s bad-offset 0 0.0/s fragment 8 0.0/s short 176 0.2/s normalize 81 0.1/s memory 0 0.0/s bad-timestamp 0 0.0/s congestion 0 0.0/s ip-option 28 0.0/s proto-cksum 0 0.0/s state-mismatch 5530 6.4/s state-insert 0 0.0/s state-limit 0 0.0/s src-limit 0 0.0/s synproxy 0 0.0/s fmbraga:132$ load averages: 0.72, 0.83, 0.55 06:26:40 33 processes: 32 idle, 1 on processor CPU0 states: 3.4% user, 0.0% nice, 0.4% system, 83.4% interrupt, 12.8% idle CPU1 states: 2.2% user, 0.0% nice, 0.4% system, 0.0% interrupt, 97.4% idle CPU2 states: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle CPU3 states: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle Memory: Real: 20M/271M act/tot Free: 2963M Swap: 0K/2055M used/tot PID USERNAME PRI NICE SIZE RES STATE WAIT TIME CPU COMMAND 17166 fmbraga -6 0 636K 1052K sleep/0 piperd 0:23 8.94% sed 26875 fmbraga -6 0 456K 1028K sleep/3 piperd 0:31 3.91% sed 29981 fmbraga 2 0 3248K 2200K sleep/3 select 0:00 0.00% sshd 28812 fmbraga 2 0 3396K 2208K sleep/0 select 0:00 0.00% sshd 12557 fmbraga 2 0 3416K 2152K sleep/0 select 0:00 0.00% sshd 10314 root 2 0 3276K 2864K idle netio 0:00 0.00% sshd 29572 _pflogd 4 0 588K 476K sleep/0 bpf 0:00 0.00% pflogd 10264 fmbraga 2 0 924K 2072K sleep/0 poll 0:00 0.00% top 19219 root 10 0 636K 492K sleep/0 nanosle 0:00 0.00% pfctl 11936 root 10 0 664K 500K sleep/0 nanosle 0:00 0.00% pfctl 30336 root 2 0 640K 1380K idle select 0:00 0.00% sshd 19057 root 2 0 3440K 2920K idle netio 0:00 0.00% sshd 25636 root 2 0 3668K 6248K sleep/0 select 0:00 0.00% snmpd 29407 fmbraga 28 0 752K 1952K onproc/0 - 0:00 0.00% top 16659 root 2 0 1320K 1752K sleep/0 select 0:00 0.00% sendmail 24774 root 2 0 3420K 2952K idle netio 0:00 0.00% sshd 18059 _syslogd 2 0 504K 828K sleep/0 poll 0:00 0.00% syslogd 30791 fmbraga 18 0 624K 752K idle pause 0:00 0.00% ksh 4597 fmbraga 18 0 776K 744K idle pause 0:00 0.00% ksh 31505 fmbraga 2 0 3336K 2172K sleep/0 select 0:00 0.00% sshd 4308 root 2 0 3364K 2924K idle netio 0:00 0.00% sshd 17683 root 2 0 452K 812K idle select 0:00 0.00% inetd 32085 fmbraga 18 0 568K 756K idle pause 0:00 0.00% ksh 22181 fmbraga 18 0 668K 736K idle pause 0:00 0.00% ksh 1 root 10 0 448K 384K idle wait 0:00 0.00% init 29714 root 3 0 416K 856K idle ttyin 0:00 0.00% getty 6541 root 3 0 284K 860K idle ttyin 0:00 0.00% getty new dmesg follows: fmbraga:134$ dmesg OpenBSD 4.2 (GENERIC.MP) #1378: Tue Aug 28 10:48:58 MDT 2007 [EMAIL PROTECTED]:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 3488907264 (3327MB) avail mem = 3373899776 (3217MB) mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xcffbc000 (62 entries) bios0: vendor Dell Inc. version "1.3.7" date 03/26/2007 bios0: Dell Inc. PowerEdge 1950 acpi at mainbus0 not configured ipmi0 at mainbus0: version 2.0 interface KCS iobase 0xca8/8 spacing 4 mainbus0: Intel MP Specification (Version 1.4) cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Xeon(R) CPU E5345 @ 2.33GHz, 2327.87 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,CX16,xTPR,NXE,LONG cpu0: 4MB 64b/line 16-way L2 cache cpu0: apic clock running at 332MHz cpu1 at mainbus0: apid 2 (application processor) cpu1: Intel(R) Xeon(R) CPU E5345 @ 2.33GHz, 2327.53 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,CX16,xTPR,NXE,LONG cpu1: 4MB 64b/line 16-way L2 cache cpu2 at mainbus0: apid 3 (application processor) cpu2: Intel(R) Xeon(R) CPU E5345 @ 2.33GHz, 2327.53 MHz cpu2: 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,CX16,xTPR,NXE,LONG cpu2: 4MB 64b/line 16-way L2 cache cpu3 at mainbus0: apid 1 (application processor) cpu3: Intel(R) Xeon(R) CPU E5345 @ 2.33GHz, 2327.53 MHz cpu3: 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,CX16,xTPR,NXE,LONG cpu3: 4MB 64b/line 16-way L2 cache mpbios: bus 0 is type PCI mpbios: bus 1 is type PCI mpbios: bus 2 is type PCI mpbios: bus 3 is type PCI mpbios: bus 4 is type PCI mpbios: bus 5 is type PCI mpbios: bus 6 is type PCI mpbios: bus 7 is type PCI mpbios: bus 8 is type PCI mpbios: bus 9 is type PCI mpbios: bus 10 is type PCI mpbios: bus 11 is type PCI mpbios: bus 12 is type PCI mpbios: bus 13 is type PCI mpbios: bus 14 is type PCI mpbios: bus 15 is type PCI mpbios: bus 16 is type PCI mpbios: bus 17 is type ISA ioapic0 at mainbus0 apid 4 pa 0xfec00000, version 20, 24 pins ioapic0: misconfigured as apic 0, remapped to apid 4 ioapic1 at mainbus0 apid 5 pa 0xfec81000, version 20, 24 pins ioapic1: misconfigured as apic 0, remapped to apid 5 pci0 at mainbus0 bus 0: configuration mode 1 pchb0 at pci0 dev 0 function 0 "Intel 5000X Host" rev 0x12 ppb0 at pci0 dev 2 function 0 "Intel 5000 PCIE" rev 0x12 pci1 at ppb0 bus 6 ppb1 at pci1 dev 0 function 0 "Intel 6321ESB PCIE" rev 0x01 pci2 at ppb1 bus 7 ppb2 at pci2 dev 0 function 0 "Intel 6321ESB PCIE" rev 0x01 pci3 at ppb2 bus 8 ppb3 at pci3 dev 0 function 0 "ServerWorks PCIE-PCIX" rev 0xc3 pci4 at ppb3 bus 9 bnx0 at pci4 dev 0 function 0 "Broadcom BCM5708" rev 0x12: apic 4 int 16 (irq 5) ppb4 at pci2 dev 1 function 0 "Intel 6321ESB PCIE" rev 0x01 pci5 at ppb4 bus 10 ppb5 at pci1 dev 0 function 3 "Intel 6321ESB PCIE-PCIX" rev 0x01 pci6 at ppb5 bus 11 ppb6 at pci0 dev 3 function 0 "Intel 5000 PCIE" rev 0x12 pci7 at ppb6 bus 1 ppb7 at pci7 dev 0 function 0 "Intel IOP333 PCIE-PCIX" rev 0x00 pci8 at ppb7 bus 2 mfi0 at pci8 dev 14 function 0 "Dell PERC 5" rev 0x00: apic 5 int 14 (irq 6) mfi0: logical drives 1, version 5.1.1-0040, 256MB RAM scsibus0 at mfi0: 1 targets sd0 at scsibus0 targ 0 lun 0: <DELL, PERC 5/i, 1.03> SCSI3 0/direct fixed sd0: 152064MB, 19385 cyl, 255 head, 63 sec, 512 bytes/sec, 311427072 sec total ppb8 at pci7 dev 0 function 2 "Intel IOP333 PCIE-PCIX" rev 0x00 pci9 at ppb8 bus 3 ppb9 at pci0 dev 4 function 0 "Intel 5000 PCIE" rev 0x12 pci10 at ppb9 bus 12 em0 at pci10 dev 0 function 0 "Intel PRO/1000 PT (82571EB)" rev 0x06: apic 4 int 16 (irq 5), address 00:15:17:3a:65:10 em1 at pci10 dev 0 function 1 "Intel PRO/1000 PT (82571EB)" rev 0x06: apic 4 int 17 (irq 11), address 00:15:17:3a:65:11 ppb10 at pci0 dev 5 function 0 "Intel 5000 PCIE" rev 0x12 pci11 at ppb10 bus 13 ppb11 at pci0 dev 6 function 0 "Intel 5000 PCIE" rev 0x12 pci12 at ppb11 bus 14 ppb12 at pci0 dev 7 function 0 "Intel 5000 PCIE" rev 0x12 pci13 at ppb12 bus 15 pchb1 at pci0 dev 16 function 0 "Intel 5000 Error Reporting" rev 0x12 pchb2 at pci0 dev 16 function 1 "Intel 5000 Error Reporting" rev 0x12 pchb3 at pci0 dev 16 function 2 "Intel 5000 Error Reporting" rev 0x12 pchb4 at pci0 dev 17 function 0 "Intel 5000 Reserved" rev 0x12 pchb5 at pci0 dev 19 function 0 "Intel 5000 Reserved" rev 0x12 pchb6 at pci0 dev 21 function 0 "Intel 5000 FBD" rev 0x12 pchb7 at pci0 dev 22 function 0 "Intel 5000 FBD" rev 0x12 ppb13 at pci0 dev 28 function 0 "Intel 6321ESB PCIE" rev 0x09 pci14 at ppb13 bus 4 ppb14 at pci14 dev 0 function 0 "ServerWorks PCIE-PCIX" rev 0xc3 pci15 at ppb14 bus 5 bnx1 at pci15 dev 0 function 0 "Broadcom BCM5708" rev 0x12: apic 4 int 16 (irq 5) uhci0 at pci0 dev 29 function 0 "Intel 6321ESB USB" rev 0x09: apic 4 int 21 (irq 11) uhci1 at pci0 dev 29 function 1 "Intel 6321ESB USB" rev 0x09: apic 4 int 20 (irq 10) uhci2 at pci0 dev 29 function 2 "Intel 6321ESB USB" rev 0x09: apic 4 int 21 (irq 11) ehci0 at pci0 dev 29 function 7 "Intel 6321ESB USB" rev 0x09: apic 4 int 21 (irq 11) usb0 at ehci0: USB revision 2.0 uhub0 at usb0: Intel EHCI root hub, rev 2.00/1.00, addr 1 ppb15 at pci0 dev 30 function 0 "Intel 82801BA AGP" rev 0xd9 pci16 at ppb15 bus 16 vga1 at pci16 dev 13 function 0 "ATI ES1000" rev 0x02 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 6321ESB LPC" rev 0x09 pciide0 at pci0 dev 31 function 1 "Intel 6321ESB IDE" rev 0x09: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility atapiscsi0 at pciide0 channel 0 drive 0 scsibus1 at atapiscsi0: 2 targets cd0 at scsibus1 targ 0 lun 0: <HL-DT-ST, CDRW/DVD GCC4244, B101> SCSI0 5/cdrom removable cd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 pciide0: channel 1 ignored (disabled) usb1 at uhci0: USB revision 1.0 uhub1 at usb1: Intel UHCI root hub, rev 1.00/1.00, addr 1 usb2 at uhci1: USB revision 1.0 uhub2 at usb2: Intel UHCI root hub, rev 1.00/1.00, addr 1 usb3 at uhci2: USB revision 1.0 uhub3 at usb3: Intel UHCI root hub, rev 1.00/1.00, addr 1 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 midi0 at pcppi0: <PC speaker> spkr0 at pcppi0 uhub4 at uhub0 port 1: Dell product 0xa001, rev 2.00/0.00, addr 2 uhidev0 at uhub4 port 1 configuration 1 interface 0 uhidev0: Dell DRAC5, rev 1.10/0.00, addr 3, iclass 3/1 ukbd0 at uhidev0: 8 modifier keys, 6 key codes wskbd1 at ukbd0 mux 1 wskbd1: connecting to wsdisplay0 uhidev1 at uhub4 port 1 configuration 1 interface 1 uhidev1: Dell DRAC5, rev 1.10/0.00, addr 3, iclass 3/1 ums0 at uhidev1 ums0: X report 0x0002 not supported umass0 at uhub4 port 2 configuration 1 interface 0 umass0: DELL INC. DRAC5 VIRTUAL MEDIA, rev 2.00/0.00, addr 4 umass0: using SCSI over Bulk-Only scsibus2 at umass0: 2 targets cd1 at scsibus2 targ 1 lun 0: <Dell, Virtual CDROM, 123> SCSI0 5/cdrom removable umass1 at uhub4 port 2 configuration 1 interface 1 umass1: DELL INC. DRAC5 VIRTUAL MEDIA, rev 2.00/0.00, addr 4 umass1: using SCSI over Bulk-Only scsibus3 at umass1: 2 targets sd1 at scsibus3 targ 1 lun 0: <Dell, Virtual Floppy, 123> SCSI0 0/direct removable sd1: drive offline uhub5 at uhub0 port 5: Cypress Semiconductor USB2 Hub, rev 2.00/0.0b, addr 5 uhidev2 at uhub2 port 1 configuration 1 interface 0 uhidev2: vendor 0x04d9 product 0x1400, rev 1.10/1.43, addr 2, iclass 3/1 ukbd1 at uhidev2: 8 modifier keys, 6 key codes wskbd2 at ukbd1 mux 1 wskbd2: connecting to wsdisplay0 uhidev3 at uhub2 port 1 configuration 1 interface 1 uhidev3: vendor 0x04d9 product 0x1400, rev 1.10/1.43, addr 2, iclass 3/1 uhidev3: 3 report ids ums1 at uhidev3 reportid 1: 5 buttons and Z dir. wsmouse0 at ums1 mux 0 uhid0 at uhidev3 reportid 2: input=3, output=0, feature=0 uhid1 at uhidev3 reportid 3: input=1, output=0, feature=0 dkcsum: sd0 matches BIOS drive 0x80 root on sd0a swap on sd0b dump on sd0b bnx1: address 00:19:b9:eb:75:d1 brgphy0 at bnx1 phy 1: BCM5708C 10/100/1000baseT PHY, rev. 6 bnx0: address 00:19:b9:eb:75:d3 brgphy1 at bnx0 phy 1: BCM5708C 10/100/1000baseT PHY, rev. 6 fmbraga:135$ Same pf.conf was applied: > On Mon, Nov 12, 2007 at 02:05:54PM -0300, Fernando Braga wrote: > > > >Is there a way to minimize interrupts usage in this configuration ? > > > >My pf.conf is: > > > ># $OpenBSD: pf.conf,v 1.34 2007/02/24 19:30:59 millert Exp $ > > > >ext_if="bnx0" > >int_if="bnx1" > > > >table <network-int> persist { 200.254.131.128/25 } > >table <redes-biz> persist file "/etc/pf.biz" > > > >set skip on lo > >set limit states 750000 > > > >scrub in > > > >altq on $int_if bandwidth 1000Mb hfsc queue { local, embratel } > >altq on $ext_if bandwidth 1000Mb hfsc queue { local, embratel } > > > >queue local bandwidth 100Mb hfsc > > > >queue embratel bandwidth 200Mb hfsc(ecn realtime 200Mb upperlimit > >200Mb ) \ > > { Q-pri Q-icmp Q-vpn Q-biz Q-mail Q-http Q-ftp Q-def } > > > >queue Q-pri bandwidth 25Mb hfsc(realtime 15Mb linkshare 25Mb > >upperlimit 180Mb) priority 7 > >queue Q-icmp bandwidth 25Mb hfsc(realtime 15Mb linkshare 25Mb > >upperlimit 30Mb) priority 7 > >queue Q-vpn bandwidth 25Mb hfsc(realtime 15Mb linkshare 25Mb > >upperlimit 180Mb) priority 6 > >queue Q-biz bandwidth 25Mb hfsc(realtime 15Mb linkshare 25Mb > >upperlimit 180Mb) priority 6 > >queue Q-mail bandwidth 25Mb hfsc(realtime 15Mb linkshare 25Mb > >upperlimit 180Mb) priority 4 > >queue Q-http bandwidth 25Mb hfsc(realtime 15Mb linkshare 25Mb > >upperlimit 180Mb) priority 4 > >queue Q-ftp bandwidth 25Mb hfsc(realtime 15Mb linkshare 25Mb > >upperlimit 180Mb) priority 4 > >queue Q-def bandwidth 25Mb hfsc(default linkshare 25Mb > >upperlimit 128Mb) priority 0 > > > >block in log > >pass out > > > >antispoof quick for { lo $ext_if } > >pass in quick on lo0 no state > > > >## Regras de merovingio -- bridge > >pass in on $ext_if proto tcp to ($ext_if) port ssh queue(local) > > > >pass in on $int_if > >queue(Q-def Q-pri) label "int-DEFA" > >pass in on $int_if proto icmp > >queue(Q-icmp ) label "int-ICMP" > >pass in on $int_if proto gre > >queue(Q-vpn ) label "int-VPN-gre" > >pass in on $int_if proto esp > >queue(Q-vpn ) label "int-VPN-esp" > >pass in on $int_if proto ah > >queue(Q-vpn ) label "int-VPN-ah" > >pass in on $int_if proto l2tp > >queue(Q-vpn ) label "int-VPN-l2tp" > >pass in on $int_if proto { tcp udp } to port { 500 4500 } > >queue(Q-vpn ) label "int-VPN-ipsec" > >pass in on $int_if proto { tcp udp } to port { pptp } > >queue(Q-vpn ) label "int-VPN-pptp" > >pass in on $int_if proto tcp to port { snmp } > >queue(Q-icmp Q-pri) label "int-ICMP-snmp" > >pass in on $int_if proto tcp to port { www } > >queue(Q-http Q-pri) label "int-HTTP" > >pass in on $int_if proto tcp to port { https } > >queue(Q-biz Q-pri) label "int-BIZZ-https" > >pass in on $int_if proto { tcp udp } to port { domain ntp } queue( > > Q-pri) label "int-PRII" > > > >pass in on $int_if to <redes-biz> > >queue(Q-biz Q-pri) label "int-BIZZ-redes" > >pass in on $int_if proto tcp to port { smtp pop3 imap 465 995 } > >queue(Q-mail q-pri) label "int-MAIL" > > > >pass in on $ext_if > >queue(Q-def Q-pri) label "ext-DEFA" > >pass in on $ext_if proto icmp > >queue(Q-icmp ) label "ext-ICMP" > >pass in on $ext_if proto gre > >queue(Q-vpn ) label "ext-VPN-gre" > >pass in on $ext_if proto esp > >queue(Q-vpn ) label "ext-VPN-esp" > >pass in on $ext_if proto ah > >queue(Q-vpn ) label "ext-VPN-ah" > >pass in on $ext_if proto l2tp > >queue(Q-vpn ) label "ext-VPN-l2tp" > >pass in on $ext_if proto { tcp udp } to port { 500 4500 } > >queue(Q-vpn ) label "ext-VPN-ipsec" > >pass in on $ext_if proto { tcp udp } to port { pptp } > >queue(Q-vpn ) label "ext-VPN-pptp" > >pass in on $ext_if proto tcp to port { snmp } > >queue(Q-icmp Q-pri) label "ext-ICMP-snmp" > >pass in on $ext_if proto tcp to port { www } > >queue(Q-http Q-pri) label "ext-HTTP" > >pass in on $ext_if proto tcp to port { https } > >queue(Q-biz Q-pri) label "ext-BIZZ-https" > >pass in on $ext_if proto { tcp udp } to port { domain ntp } queue( > > Q-pri) label "ext-PRII" > > > >pass in on $ext_if from <redes-biz> > >queue(Q-biz Q-pri) label "ext-BIZZ-https" > >pass in on $ext_if proto tcp to port { smtp pop3 imap 465 995 } > >queue(Q-mail q-pri) label "ext-MAIL" > > Kind regards, -- Fernando M. Braga +55 82 9985-4579