Hi,

I've setup a bridge over a 200Mb link, and everytime I turn ALTQ on,
top shows interrupts at 99.2%. If I flush queue (pfctl -Fq), interrupt
usage drop to 35% instantly. I've also noticed that only cpu0 is able
to handle interrupts.

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"

dmesg follows:

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 3 (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 2 (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
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
uhub4: device problem, disabling port 1
umass0 at uhub4 port 2 configuration 1 interface 0
umass0: DELL  INC. DRAC5 VIRTUAL  MEDIA, rev 2.00/0.00, addr 3
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 3
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 4
uhidev0 at uhub2 port 1 configuration 1 interface 0
uhidev0: vendor 0x04d9 product 0x1400, rev 1.10/1.43, addr 2, iclass 3/1
ukbd0 at uhidev0: 8 modifier keys, 6 key codes
wskbd1 at ukbd0 mux 1
wskbd1: connecting to wsdisplay0
uhidev1 at uhub2 port 1 configuration 1 interface 1
uhidev1: vendor 0x04d9 product 0x1400, rev 1.10/1.43, addr 2, iclass 3/1
uhidev1: 3 report ids
ums0 at uhidev1 reportid 1: 5 buttons and Z dir.
wsmouse0 at ums0 mux 0
uhid0 at uhidev1 reportid 2: input=3, output=0, feature=0
uhid1 at uhidev1 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

Thanks in advance,

-- 
Fernando M. Braga
+55 82 8802-9559

Reply via email to